博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

php输出异常的检查方法

Posted on 2018-03-16 11:09  懒人ABC  阅读(463)  评论(0编辑  收藏  举报

同事在用php展示验证码时,老是无法正常显示

但是的代码在别的地方正常运行

查看了输出,是有内容的,但是就是不显示

根据经验,应该是输出的内容有混淆,就是说在输出图片内容的时候,掺杂进去额外的信息

通过在输出图片内容之前添加一行代码ob_clean();

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

这个方法加上去后,验证码立马就显示出来了。

我们回过头去查看出错时的输出内容(查看response),与正确的比较后,发现在开始处都了

 77u/ ,通过百度,这个是一个Bom头信息,也就是说,我们的php页面的格式出问题了,正常来说是用Utf-8 无 BOM 编码格式,但实际上某一个页面的编码格式被改变了
 
那如何寻找这个文件?
正常来说,先看看本身这个页面是否编码格式正确,
其次,看看是否该页面的其他方法也同样不能正确访问,如果其他方法也出现了这个bom头信息,说明是前面的调用页面编码格式错了。否则要看看当前方法的子方法所属页面是否编码也格式错误。
 
为了快速查找,入口的index.php,config.php这些容易造成所有方法出错