旗下导航:搜·么
当前位置:网站首页 > PHP问题 > 正文

php验证码显现不出来【php题目】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP问题浏览:83


导读:php验证码显现不出来?题目本日在在当地新建了一个虚拟主机,把之前写好的一个php小网站布置上去,由于之前用的wamp集成环境,所以没有涌现这类状况。如今倏忽发明验...

php验证码显现不出来?

题目

本日在在当地新建了一个虚拟主机,把之前写好的一个php小网站布置上去,由于之前用的wamp集成环境,所以没有涌现这类状况。如今倏忽发明验证码居然刷不出来了。

因而便开启了找bug之旅,在网上找了很多方法,末了终究处理了,如今分享以下:

bug1

涌现上面的状况,最基本的一个毛病就是你很能够在php内里遗忘装置gd模块了。

window环境下面只须要在php.ini文件内里找到

;extension=php_gd2.dll

把前面的分号去掉就能够了,重启apache后,你就能够在phpinfo()内里找到这个

假如是在ubuntu环境下面,你须要装置gd模块,敕令是

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版本,那末不能运用未定义变量,不然会报notice毛病,$new_number和$_SESSION['check_checks']在运用前必须用isset推断一下或许你用老代码的话在最最先处加上error_reporting(E_ALL & ~E_NOTICE);屏蔽掉notice毛病(不引荐),所以用isset()推断一下,来确保它被定义了。不然也有能够显现不出来验证码。

引荐教程:PHP教程

以上就是php验证码显现不出来的细致内容,更多请关注ki4网别的相干文章!

标签:php验证码