开发米扑的微信公众号,需要验证服务器遇到了如下问题:

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恢复原配置

问题就解决啦!

 

参考推荐

微信服务号创建自定义菜单

微信服务号接入验证指南