iis下会有网站日志(想要知道一个请求到底来没来,看日志即可,想要知道一个文件到底有没有被访问,其实不用file_put_contents,日志中的uri可以告诉你,notify.php被访问过了,状态码是多少)
可以看到访问时间,访问uri,访问的querystring,以及状态码
可以看到mozila4.0的ua,微信支付回调访问notify.php
php可以开启错误日志(在可写入目录中,不写会在当前脚本目录下)
; 错误日志
log_errors = On
; 显示错误
display_errors = Off
; 日志路径
error_log = "/usr/local/lnmp/php/var/log/error_log"
; 错误等级
error_reporting = E_ALL&~E_NOTICE
微信支付的坑
http与https的回调(建议使用http)
使用流的方式传输 php://input
应该返回200状态码,禁止使用URL重写(302),iis的webconfig,网站根目录下的,找到重写的部分将其注销(默认配置文件也有可能冲突)
iis日志默认为格林尼治时间
web.config错误可能导致500状态码
微信支付可以ma授权,m为商户号
接口可以用postman来调试,可以返回具体数据,之前exit一下,var_dump即可
善用全文检索
bt面板是可以执行shell(脚本,非命令,在某一文件目录下)
bt面板是可以修改php.ini文件的(ini文件的具体位置,web.config中会有handler)
file_put_contents() 可能权限不足
因此需要error_log()函数,参数3表示自定义目录,不写表示写系统错误日志(有写权限的)
demo:
···
error_log("You messed up!", 3, "/tmp/my-errors.log");```
网友评论