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

PHP网站验证码不显示的终结解决方案_第1张图片

工具/原料

  • 带验证码的测试网站源码

  • 一台windows服务器

方法/步骤

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

    PHP网站验证码不显示的终结解决方案_第2张图片

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

    PHP网站验证码不显示的终结解决方案_第3张图片

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

    PHP网站验证码不显示的终结解决方案_第4张图片

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

    PHP网站验证码不显示的终结解决方案_第5张图片

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

    PHP网站验证码不显示的终结解决方案_第6张图片

    PHP网站验证码不显示的终结解决方案_第7张图片

    END

注意事项

  • 千万千万不要使用记事本来编辑修改php文件,对于ie来说,无bom的utf-8编码跟utf-8编码的区别是很大的,如果你编辑过,暂时可能没出问题,后续出问题了甚至你找都找不到的。

  • 不要太相信网上批量处理无bom的utf-8的小工具了,如果一定要用,事先请做好备份工作。