打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
IIS + EasyWeChat 出现“EasyWeChat.DEBUG: Request received:”

运行 EasyWeChat 的 demo 代码出现:

[2020-08-29 10:27:23] EasyWeChat.DEBUG: Request received: {"method":"GET","uri":"http://xxx.com/xxx/index.php/","content-type":null,"content":""} []
[2020-08-29 10:27:23] EasyWeChat.DEBUG: Server response created: {"content":"success"} []

直接输出了debug日志,反而真正要输出的 success 没有。

之前在别的项目用过EasyWeChat没有这个问题,最近一个新项目出现了这个问题。

新项目没有用框架,而且是IIS服务器;

后来在github找到了这个issue:

https://github.com/overtrue/wechat/issues/1490

按照issue的说法 增加了 log 配置项,结果出现如下报错:

This page contains the following errors:

error on line 1 at column 1: Document is empty

Below is a rendering of the page up to the first error.

 这报错风格和内容我是万没想到这是浏览器的报错,不是服务端的。。。

而在开发者工具里面看到的响应是正确的:

而浏览器报错的原因是服务端响应的 Content-Type 是 application/xml

但是响应的内容显然不是xml 所以浏览器报错了。

但是经测试,这并不影响微信服务器的验证。

 

这里面跟IIS有关的部分是,源码的 send 方法里面有个判断:

 这块是处理缓冲区输出的

fastcgi_finish_request 是针对 nginx 的,而 IIS 就走了elseif

而 closeOutputBuffers 里面是用 ob_ 系列函数来处理缓冲区数据,并且实现逻辑较复杂,而且开启了缓冲区也就没有办法用传统的打印输出的方式进行调试,所以我也再没深究这块代码,也就不确定这是故意设计的还是一个bug。。。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
nrpe 报错 Received 0 bytes from daemon
断言(ASSERT)的用法
IIS连接数实验——Web开发必读
python测试开发django-3.url配置
关于500 - 内部服务器错误。 您查找的资源存在问题,因而无法显示的二个解决实例
<jsp:fordward></jsp:fordward>
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服