Nginx 解决 PHP has been denied (see security.limit_extensions)
开发米扑的微信公众号,需要验证服务器遇到了如下问题:
vim /usr/local/nginx/logs/error.log
2016/01/24 20:01:12 [error] 3676#0: *5 FastCGI sent in stderr: "Access to the script '/usr/local/nginx/html/wechat_server/MP_verify_MOZE7GEhxisP7gSV.txt' has been denied (see security.limit_extensions)" while reading response header from upstream, client: 16.111.24.88, server: wx.mimvp.com, request: "GET /MP_verify_MOZE7GEhxisP7gSV.txt HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "wechat.mimvp.com"
打开日志发现会出现security.limit_extensions 这样的错误。
经过查找资料发现 从5.3.9开始,php官方加入了一个配置"security.limit_extensions",默认状态下只允许执行扩展名为".php"的文件,造成了其他类型的文件不支持的问题。
所以更改策略如下:
修改/usr/local/php/etc/php-fpm.conf
找到security.limit_extensions,去掉前面的注释符;, 然后修改为:
security.limit_extensions=.php .html .htm .js .css .jpg .jpeg .gif .png .txt # 允许常用的文件扩展名
修改完后,需要重启 php-fpm:
/etc/init.d/php-fpm restart
等微信验证服务器成功后,再把security.limit_extensions注释掉,再重启php-fpm恢复原配置
问题就解决啦!
参考推荐:
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2019-08-05 15:43:42
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!
转载注明: Nginx 解决 PHP has been denied (see security.limit_extensions) (米扑博客)