解决一个困惑了一段时间的问题,ThinkPHP6报错只返回状态码500而不返回任何错误内容

此前我一直以为是postMan出问题,只有状态码500,并没有任何错误输出。

用浏览器一样捕获不到错误信息。

今天用Python测试了一下,发现仍然没有,所以基本可以确定是TP根本就没有发送任何错误信息,只有一个500的状态头信息。

原因

经过查询,了解到原因是:如果你的计算机名为中文,或者某些文件夹名包含中文,那就会因为字符编码,而造成json_encode()报错。

这一段代码位于:tp6\vendor\topthink\framework\src\think\exception\Handle.php其中的Server/Request Data

解决方法

在这个文件最末尾,新增一个方法:

返回Server/Request Data,并修改为:

再次访问,就能看到报错信息了。

本文来自weixin_47965781 ,本文观点不代表蓝洛水深立场,转载请联系原作者。

(3)
蓝洛水深的头像蓝洛水深管理员
上一篇 2023年6月12日 上午10:26
下一篇 2023年6月19日 下午8:57

相关推荐

发表回复

登录后才能评论
联系QQ
联系QQ
分享本页
返回顶部