php无法显示验证码?
验证码图片显示不出来,原因一般有三种(网上基本一致这几种原因):
(1)php没有安装gd2模块,可以使用phpinfo()函数查看。
(2)代码很可能是使用了像editpuls或者notepad++这样的文本编辑器编辑的,那么他们的默认编码格式就是有BOM的utf-8。
UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支持UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行。一般我用UTF-8无BOM格式,所以你需要将代码的编码格式改成无BOM格式。
(3)使用ob_clean()了,清除一下缓存。header()前不能有输出。
ob_clean这个函数的作用就是用来丢弃输出缓冲区中的内容。
如果你的有许多生成的图片类文件,那么想要访问正确,就要经常清除缓冲区。
如果以上三种原因都排查了,还是无法显示验证码,还有一种原因可能是,gd2模块实际上并没有安装成功,phpinfo()中显示的是假象,这种情况,重新加载这个模块并不会覆盖掉坏的那个,需要重新搭建环境,试一试。
更多PHP相关知识,请访问PHP教程!
以上就是php无法显示验证码的详细内容,更多请关注php中文网其它相关文章!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
- 上一篇:php显示乱码
- 下一篇:PHP无法输出带空格的字符串
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论