【精华】PHP网站验证码不显示的终结解决方案

PHP网站验证码不显示,这个是个很基础的PHP问题了,不过有点时候会比较让开发者比较头疼了。很多解决方案仅仅考虑到gd2,却忽略了另外一个很重要的因素了,相信在了解本教程之后,验证码不显示基本上就不算什么问题了。下面我们用windows为例,来展开我们的教程,linux系统也可以拿来参照的。

工具/原料

  • 带验证码的测试网站源码
  • 一台windows服务器

方法/步骤

  1. 确保php环境能用,php文件能被正常服务器软件解析,也可以找到php.exe或者php-cgi.exe执行下,php配置没问题的话就是跳出一个cmd窗口且不会自动关闭,然后有一个光标一直在闪烁。

  2.  

    在测试网站根目录下面新建phpinfo.php文件,文件内容可以参照图片,就是phpinfo();语句,主要的作用就是显示php服务器的配置信息。

  3.  

    在浏览器中访问到第一步中新建的phpinfo.php文件。Ctrl+F查询gd,如果有出现,就表示gd2库已经加载了,如果验证码还是不显示,请继续看下一步。

  4.  

    特别是utf-8的项目,很多新手习惯使用了windows自带的记事本对网站一些配置文件进行修改保存,这样配置文件的编码也随之变化了,一般是由无bom的utf-8变成了utf-8。可以说记事本跟utf-8的php项目来说简直就是噩梦啊,也是新手比较常犯的一个低级失误了。

  5.  

    使用notepad++或其他编辑软件对配置文件(也有可能是别的文件,自己核对下那些文件是被记事本修改过的)进行编码转换,将PHP文件编码重新修改为无bom的utf-8编码格式,点击保存下,大功告成。据说那些编程高手都是一个记事本就能写一套系统的,那他们是怎么解决这个无bom的utf-8编码格式的问题的。

    END

注意事项

  • 千万千万不要使用记事本来编辑修改php文件,对于ie来说,无bom的utf-8编码跟utf-8编码的区别是很大的,如果你编辑过,暂时可能没出问题,后续出问题了甚至你找都找不到的。
  • 不要太相信网上批量处理无bom的utf-8的小工具了,如果一定要用,事先请做好备份工作。
时间: 2024-10-27 12:42:30

【精华】PHP网站验证码不显示的终结解决方案的相关文章

LNMP Yii2 验证码不显示问题最终解决方案

首先,本地使用OK! 然后,新配置的LNMP环境,验证码一直显示不出来,看了Yii2的验证码存在session里,怀疑是session有问题. 在测试其他页面的时候,发现:session_start(): Failed to initialize storage module: files (path: )错误 lnmp的php.ini中这句话默认是注释掉的,所以 : 然后问题就解决了!

PHP网站验证码图片不显示解决方法

找到php.ini配置文件之后,双击打开,hp_gd2.dll,找到如下图1-2所示.查看extension=php_gd2.dll前面是否有;号,如果有的话,去除,保存.编者注:如果php.ini是在系统目录下的话,保存之后重起电脑才生效,如果是系统变量里直接指定的话,重起IIS服务器或者重起apache服务器即可生效(不用重起服务器电脑). 如果找不到php.ini文件,在别的电脑拷贝一个即可. PHP网站验证码图片不显示解决方法

yxcms后台验证码不显示?怎么取消yxcms后台验证码

嗨,大家好,我是YXCMS的小M老湿,(其实还是习惯大家叫我猪猪吧!)今天又要分享一则yxcms的使用技巧,当然也是yxcms用户在使用过程中很容易出现的小白问题,当然还是同样,yxcms的大神级别的人就不用看了.同样还是关爱小白,从我做起!!好了,闲话要少絮!今天要说的就是yxcms后台验证码不显示的问题,还有怎么取消yxcms后台验证码的一些小方法和技巧. 首先先讲解一下,为什么会出现yxcms后台验证码不显示的问题,其实用过cms的人都知道,验证码嘛,作用其实就是验证身份,以防止一些不好的

关于php验证码无法显示的问题的自我反思

很早之前在金华佗创业团队的时候,团队的内部网站后台登陆的验证码无法正常显示.当时正在开始学习php,所以对于php的绘图技术并不了解,也不知道验证码的作用.... 我请教一个学习php的师兄,师兄可能当时比较忙吧,他给我的建议就是去服务器,把验证码这一块的代码给注释了,不用验证码的功能.这样做果然省事,但只是个权宜之计,只能暂时蒙一蒙不懂技术的老板,所以当时这件事情就暂时过去了. 事后我反思了一下,有两点感悟: 1)一个科技公司,有一个技术总监很重要.不懂技术的话,老板也会被一个菜鸟"欺负&qu

phpcms v9后台登陆验证码无法显示,怎么取消验证码

phpcms v9后台登陆验证码无法显示论坛里关于这个问题貌似一直没有解决,查看源代码后发现,关键一点是获取验证码的图片与全局变量SITE_URL相关,也就是网站的目录, 所以只要修改cache/configs/system.php文件中的网站路径变量 ‘web_path’ 即可. 举例说明(本地域名http://localhost) 如果所有的文件都在根目录下(例如apache下的htdocs),此时,默认访问地址应该是http://localhost/,则‘web_path’=>'/',若网

验证码无法显示,服务器端出现异常:Could not initialize class sun.awt.X11GraphicsEnvironment

异常信息: Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment Caused by: java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable. 网站验证码是必不可少的

磁盘空间被占满导致前台的验证码无法显示

昨晚上11点多,公司的后台程序员打电话说登陆页面的验证码突然显示不出来了,我查看了一下,并和测试机上的代码做了一下比较(测试机上能正常显示,这是外包做的网站,不是自己写的),请求的地址都是一样的,地址文件也是一样的,请求也是成功的,只是没有数据的返回,之后还把实际上的文件用测试机上的文件覆盖了,还是不能正常显示,重启了服务器还是不能显示.折腾了很久,后来发现服务器上的磁盘被占满了,删除了一些多余的文件之后终于能正常显示了.之后查了一下说原来磁盘空间被占满,会出现web程序报错的情况.

phpcms 后台验证码不显示date() expects parameter 2 to be long

方法一: 主要在于是否开启gd库 查看办法 找到php.ini文件 搜索extension=php_gd2.dll这段代码 然后把前面的;符号去掉即可. 方法二: 关键一点是获取验证码的图片与全局变量SITE_URL相关,也就是网站的目录,所以只要修改cache/configs/system.php文件中的网站路径变量‘web_path’ 即可. 举例说明(本地域名http://localhost)   如果所有的文件都在根目录下(例如apache下的htdocs),此时,默认访问地址应该是ht

ecshop验证码无法显示

问题一.后台显示,前台不显示(会员登陆不显示): 解决方法:用ftp工具连接空间,找到includes/init.php文件在第300行,屏蔽以下代码,/* 判断是否支持 Gzip 模式 */ 1if (!defined('INIT_NO_SMARTY') && gzip_enabled()){ 2ob_start('ob_gzhandler'); 3}else{ 4ob_start(); 5} 问题二.由于php中的path问题,没有./的当前路径导致图片不显示解决方法:用ftp连接空间