之前都好好的,更换了服务器后,微信支付支付不了!相信肯定不是程序的错误,那就应该是服务器的设置问题了!细看错误提示:
Uncaught exception 'think\exception\ErrorException' with message
'error_log(/www/api/public/../runtime/log/201611/29.log): failed to
open stream: Permission denied' in
/www/api/thinkphp/library/think/log/driver/File.php
从错误提示可以清楚的知道是权限的问题,具体如何去设置权限?
有人反映用chmod -R 0777
/www/api/public/runtime修改权限后,当天是可以的。可是明天生成新的日志文件是就又报错,这应该是跟SELINUX有关系,所以如果您直接修改/etc/selinux/config文件中设置SELINUX=disabled,也是可以解决的,但是这样就彻底关闭了SELINUX,不安全了!
那应该怎么办吧!
看看你目录的 owner 是谁,如果你的 web 服务是用
www这样的用户启动的,记得要确认 runtime 目录下的子目录 www都有足够的权限!
经过ls -l查看,都是root
因为web 服务是用 www这样的用户启动,所以肯定没有权限了!
那就直接修改为www,反正 root 啥都能干,不需要特别指定!
chown -R www runtime
操作后
再试,微信支付果然可以用了!