Nginx PHP-FPM:不允许操作
当我尝试在浏览器中打开index.php时,我看到错误:Nginx PHP-FPM:不允许操作,nginx,centos,php,Nginx,Centos,Php,当我尝试在浏览器中打开index.php时,我看到错误: No input file specified. 在error.log中: 2013/11/04 22:40:07[错误]3435#0:*4 FastCGI在stderr中发送:“无法打开主脚本:/var/www/index.php(不允许操作)”从上游读取响应头时,客户端:10.0.2.2,服务器:localhost,请求:“GET/HTTP/1.1”,上游:fastcgi://127.0.0.1:9000,主机:“本地主机” 服务器
No input file specified.
在error.log中:
2013/11/04 22:40:07[错误]3435#0:*4 FastCGI在stderr中发送:“无法打开主脚本:/var/www/index.php(不允许操作)”从上游读取响应头时,客户端:10.0.2.2,服务器:localhost,请求:“GET/HTTP/1.1”,上游:fastcgi://127.0.0.1:9000,主机:“本地主机”
服务器的配置:
- CentOS 6.4
- PHP 5.4.17(从源代码处安装)
- Nginx 1.0.15
$ ps aux | grep fpm
root 3460 0.0 0.7 29524 3428 ? Ss 22:48 0:00 php-fpm: master process (/usr/etc/php-fpm.conf)
nginx 3462 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
nginx 3463 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
nginx 3464 0.0 0.7 29524 3592 ? S 22:48 0:00 php-fpm: pool www
nginx 3465 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
nginx 3466 0.0 0.5 29524 2732 ? S 22:48 0:00 php-fpm: pool www
vagrant 3468 0.0 0.1 5532 720 pts/0 D+ 22:48 0:00 grep fpm
$ ls -la /var/www
drwxr-xr-x 2 nginx nginx 4096 Ноя 4 22:34 .
drwxr-xr-x. 19 root root 4096 Ноя 4 22:31 ..
-rw-r--r-- 1 nginx nginx 17 Ноя 4 22:34 index.php
打开catch\u workers\u output不起作用问题出现在设置session.save\u path的不存在路径中,而不在php.ini中设置open\u basedir的列表中您对index.php没有“x”权限,“x”表示执行。应该是“rwxr-xr-x”,我从未为通过web服务器工作的php文件添加“x”权限,并且没有任何问题。但我现在尝试为index.php添加'x'特权-这对我没有帮助,'不允许操作'绝对是一个权限问题。在产品环境中,最好使用自定义工作帐户来部署nginx和php。在这里,我注意到您使用“root”启动了php fpm,而工作进程实际上使用的是“nginx”帐户。“nginx”帐户无法访问“/var”。$ls-al/| grep var drwxr-xr-x。18根根根409623:16 var/var拥有allok的“读取”权限,我创建了目录/www,将目录/www和文件/www/index.php的所有者更改为nginx:nginx,但仍然收到错误:FastCGI在stderr中发送:“无法打开主脚本:/www/index.php(不允许操作)”从上游读取响应头时,客户端:10.0.2.2,服务器:localhost,请求:“GET/HTTP/1.1”,上游:fastcgi://127.0.0.1:9000,主机:“localhost”最有可能的问题是
session.save\u path
偶然出现的,唯一的问题是open\u basedir
值。每当nginx日志中出现此错误时,只需检查PHP日志,错误的确切原因(通常由于open\u basedir
限制而缺乏权限)就会显而易见。