前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >thinkphp验证码不显示

thinkphp验证码不显示

作者头像
老高的技术博客
发布2022-12-27 15:58:22
9970
发布2022-12-27 15:58:22
举报

今天解决了一个验证码不显示的问题,值得大家注意

TP的验证码已经做得很傻瓜了,两行代码搞定

代码语言:javascript
复制
$Verify = new \Think\Verify();
$Verify->entry();

firefox浏览器显示:

因其本身有错无法显示

分析了半天,用下面的代码发现图片输出前已经输出了有3个字节字符,导致图片无法被正确识别

代码语言:javascript
复制
var_dump( ob_get_clean() );

3个字节很诡异,立马能想到UTF-8 with BOM,立马检查所有文件,果不其然,某一个文件就是UTF-8 with BOM的!果断改之,解决!

最后,如果实在找不到原因,在输出图片之前清一下缓冲区即可

代码语言:javascript
复制
ob_clean();

这个问题还好是项目刚刚开始发现的,否则以后动辄几百上千的文件,要发现这个问题就麻烦了,网上有一键去BOM的工具,可以用一用。当然,这些都是后话,团队开发一定要预先确定编码规范,这样能够节约N多时间去找一个让人MAD的BUG,一定要防患于未然!

另外要强调,还有一个情况也会出现这个情况!

就是PHP文件结束标记后出现空格或tab,也会被输出

详情请参考这里

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档