Nginx下出现Access denied (403) see security.limit_extensions错误的解决方法

来源:互联网 发布:淘宝定时上架怎么抢 编辑:程序博客网 时间:2024/06/05 08:49

今天在vagrant + lnmp中使用phalcon命令初始化项目后,访问页面一直出现Access denied; 而Nginx的错误日志则一直是”Access to the script ‘xxx’ has been denied (see security.limit_extensions)…”,最后终于在stackoverflow上找到了解决方法:

  1. 在你php-fpm配置文件php-fpm.conf中设置security.limit_extensions 为 .php 或 .php5,或者其他任何与你环境一致的后缀名。 对于开发环境下的一些用户来说, 完全移除所有security.limit_extensions的值或设置为FALSE,能够保证可以正常工作.

  2. 在你的nginx配置文件中设置fastcgi_pass 为你的socket地址(e.g. unix:/var/run/php-fpm/php-fpm.sock;), 替代ip地址:端口这种方式(127.0.0.1:9000).

  3. 检查你的SCRIPT_FILENAMEfastcgi_param 并根据你文件的地址来设置它们.

  4. 在你的nginx配置文件中包含有fastcgi_split_path_info ^(.+\.PHP)(/.+)$; 则所有其他的对应fastcgi参数也都应该在location块中定义;具体可参考phalcon的nginx官方配置

  5. 在你的php.ini配置文件中,设置cgi.fix_pathinfo=1

我就是因为第五个原因,cgi.fix_pathinfo默认没有设置为1,而造成页面总是显示Access denied

原文链接 http://www.qetee.com/exp/php/phalcon-nginx-403/

阅读全文
0 0
原创粉丝点击