thinkphp6验证码不显示解决方案
2022-11-24 11:10:29
230
{{single.collect_count}}

此方法来源于网络转载

解决方法有两个,一个是在验证码的imagepng输出图片代码调用之前用ob_clean清除php的输出缓冲区。还有就是使用一些工具批量对代码的bom进行去除。

我这里使用的是ob_clean,在think-captcha的主文件Captcha.php的第229行之前加上ob_clean(),这样一劳永逸。如果对性能和稳定性有严苛要求,建议还是用工具批量去除bom比较保险。同时也建议大家随时在服务器上装一个editplus等专业的代码编辑器。不要用Windows的记事本修改代码。

 

 

1. ob_clean这个函数的作用:
用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区

控制台报错: Unchecked runtime.lastError: The message port closed before a response was received.


2. 在出现问题的页面查看源代码,发现在页面尾部出现了一堆其他代码(原因不明)

3. 这是UTF-8的BOM问题,一般是入口文件或controller文件保存格式带了 BOM 标签。
 

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}