使用Nginx + PHP-FPM的PHP文件拒绝访问(403)
我在这个问题上花了几个小时,尽管与它有关的帖子很多,但我无法解决这个问题。我有一个带有Nginx + PHP-FPM的Fedora 20盒子,直到今天都运行得很好(在我重新加载php-fpm.service之后)。Nginx正在提供静态文件没有问题,但任何PHP文件都会触发错误403。
权限正常,nginx和php-fpm在用户“nginx”下运行:
root 13763 0.0 0.6 490428 24924 ? Ss 15:47 0:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 13764 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13765 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13766 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13767 0.0 0.1 490428 7296 ? S 15:47 0:00 php-fpm: pool www
nginx 13768 0.0 0.1 490428 6848 ? S 15:47 0:00 php-fpm: pool www
服务的文件也已设置为nginx用户,我甚至结束了对777个文件的chmoding进行尝试,但对于任何PHP文件,仍然“拒绝访问”。
以下是我的Nginx配置的服务器:
server {
listen 80;
server_name localhost;
root /var/www/html;
location ~ \.php$ {
fastcgi_intercept_errors on;
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
PHP-FPM 池:
[www]
...
listen = 127.0.0.1:9000
user = nginx
group = nginx
...
对于版本:
php-5.5.11 (当然还有 php-fpm-5.5.11)
金银杏-1.4.7
我正在添加Nginx错误日志:
FastCGI sent in stderr: "Access to the script '/var/www/html' has been denied (see security.limit_extensions)" while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "xxx.xxx.xxx.xxx"
精确地将其设置为:。security.limit_extensions
security.limit_extensions = .php
关于路径权限,可以遍历 /var/www/html。我错过了什么?