【发布时间】:2015-06-09 02:49:55
【问题描述】:
我的环境:
CentOS 6.6
带有 mod_security、naxsi、ngx_pagespeed 模块的 Nginx 1.7.10
PHP 5.6.5
Mariadb 10.0.16
SeLinux 关闭
setenforce 0
我的测试代码:
<?php
/*
** Connect to database:
*/
// connect to the database
$con = mysql_connect('localhost','root','my pass')
or die('Could not connect to the server! ' . mysql_error());
var_dump($con);
exit;
就是这样。
当我使用 firefox 运行这个脚本时
结果是“无法连接到服务器!权限被拒绝”
nginx error.log 是
2015/02/18 23:26:33 [error] 1532#0: *68 FastCGI sent in stderr: "PHP message: PHP Warning: mysql_connect(): Permission denied in /var/www/nginx/aa. php on line 9”同时从上游读取响应标头,客户端:客户端 ip,服务器:localhost,请求:“GET /test-sql-injection.php HTTP/1.1”,上游:“fastcgi://unix:/var/运行/php-fpm.sock:",主机:"服务器ip"
但是当我使用命令行来运行这个脚本时
php aa.php
结果是
resource(5) of type (mysql link)
连接maria db成功...
mysql.sock 文件权限为
在 /tmp 中
lrwxrwxrwx. 1 mysql mysql 25 2015-02-18 21:20 mysql.sock -> /var/lib/mysql/mysql.sock
在 /var/lib/mysql 中
srwxrwxrwx. 1 mysql mysql 0 2015-02-18 23:03 mysql.sock
所有命令都以 root 身份运行
当我使用另一个用户运行 php 命令时
仍然收到 Permission denied 错误消息!
哪个文件的权限不对?
======
/var/lib/mysql 目录权限为 700
所以它会导致权限被拒绝的问题......
【问题讨论】:
标签: php mysql nginx centos mariadb