因而便开启了找bug之旅,在网上找了很多方法,末了终究处理了,如今分享以下:
bug1
涌现上面的状况,最基本的一个毛病就是你很可能在php内里遗忘装置gd模块了。 (引荐进修:PHP视频教程)
window环境下面只须要在php.ini文件内里找到
;extension=php_gd2.dll
把前面的分号去掉就能够了,重启apache后,你就能够在phpinfo()内里找到这个
sudo apt-get install php5-gd
装置好了今后,也能够看到上面的模块。
bug2
假如小伙伴阅历上面的装置后,发明照样没有用,那末就多是下面的问题了
你的代码很多是运用了像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花样。
bug3
假如人人阅历上面的两个步骤发明照样不起作用,那就要祭出杀手锏了。
运用ob_clean()了,消灭一下缓存。
ob_clean这个函数的作用就是用来抛弃输出缓冲区中的内容,假如你的有很多生成的图片类文件,那末想要接见准确,就要常常消灭缓冲区。
public function create() { ob_clean(); $a = new verify(); session::set('captcha', strtolower($a->create(4, 15))); view::assign("captcha", $a); view::display("captcha"); exit(0); }
以上就是php验证码图片没法显现的处理方法的细致内容,更多请关注ki4网别的相干文章!