此方法来源于网络转载
解决方法有两个,一个是在验证码的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 标签。