php验证码显示不全的原因:1、php没有安装gd2模块;2、很可能是使用了像editpuls或者【notepad++】这样的文本编辑器编辑的;3、使用【ob_clean()】了,清除一下缓存。
本教程操作环境:windows7系统、PHP5.6版,DELL G3电脑,该方法适用于所有品牌电脑。
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编程(视频)