今天在vagrant + lnmp中使用phalcon命令初始化项目后,访问页面一直出现Access denied; 而Nginx的错误日志则一直是”Access to the script ‘xxx’ has been denied (see security.limit_extensions)…”,最后终于在stackoverflow上找到了解决方法:
-
在你php-fpm配置文件php-fpm.conf中设置security.limit_extensions 为 .php 或
.php5,或者其他任何与你环境一致的后缀名。 对于开发环境下的一些用户来说,
完全移除所有security.limit_extensions的值或设置为FALSE,能够保证可以正常工作. -
在你的nginx配置文件中设置fastcgi_pass 为你的socket地址(e.g. unix:/var/run/php-fpm/php-fpm.sock;), 替代ip地址:端口这种方式(127.0.0.1:9000).
-
检查你的SCRIPT_FILENAME, fastcgi_param 并根据你文件的地址来设置它们.
-
在你的nginx配置文件中包含有fastcgi_split_path_info ^(.+.php)(/.+)$; 则所有其他的对应fastcgi参数也都应该在location块中定义;具体可参考phalcon的nginx官方配置
-
在你的php.ini配置文件中,设置cgi.fix_pathinfo=1
我就是因为第五个原因,cgi.fix_pathinfo默认没有设置为1,而造成页面总是显示Access denied
转https://blog.youkuaiyun.com/u012129607/article/details/62042169