Nginx+php-fpm遇到Access denied解决方案

1. 检查php-fpm.conf文件中的security.limit_extensions是否配置正确。这里应该为不配置或者配置为正确的扩展名,例如.php

;security.limit_extensions = .php

2. 检查nginx配置中的SCRIPT_FILENAME是否正确

3. 检查nginx关于php的配置是否正常,要修改官方提供的:

location ~ \.php$ {
}

修改为:

location ~ ^(?:(?<!\.php).)+\.php($|/.*)
{
}

以上配置由cfc4n大神提供

4. 修改php.ini中的cgi.fix_pathinfo值为1

cgi.fix_pathinfo = 1

该配置有安全隐患,需要设置成0,即

cgi.fix_pathinfo = 0

参考文献:

http://stackoverflow.com/questions/23390531/access-denied-403-for-php-files-with-nginx-php-fpm

文章来源:

Author:recoye
link:http://www.recoye.com/nginx-php-fpm-access-denied