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中文网其他相关文章!