服务器未开启GD库引起的验证码不显示
第1步:检查服务器是否开启GD库。
参考资料:检测服务器是否开启GD库功能
第2步:把以下代码复制到记事本中并保存成A.php
<?php Ob_end_flush(); header ("Content-type: image/png"); $im = @imagecreate (200, 100) or die ("无法创建图像"); $background_color = imagecolorallocate ($im, 0,0, 0); $text_color = imagecolorallocate ($im, 230, 140, 150); imagestring ($im, 3, 30, 50, "www.pc811.com", $text_color); imagepng ($im); ?>第3步:把A.php上传到服务器空间下之后,并输入网站下的此文件目录并成功访问。
如:http://www.pc811.com/A.php这样
第4步:如下面左侧显示这样就是说明服务器已经开启了GD库,如果如右图所示,图片是个红叉就说明未开启GD库。
第5步:如果没开启GD库,打开php.ini文件,并把php.ini文件中的extension=php_gd2.dll前面的;去掉并保存。
第6步:重启电脑之后,开始生效。
记得php.ini文件不要修改错了,有的服务器生效的此文件是在Windows系统下,有的是在php安装目录下。 PHPCMS配置文件被修改文件格式变化引起的故障原因未明,反正我用DW把修改过的文件改成UTF-8是没用的,我已经试过很多次了,而使用UltraEdit软件来修改成UTF-8的格式就一丁点事儿都没,原因未明。
第1步:把修改过的文件再下载下来,并用UltraEdit文件打开。
第2步:在UltraEdit软件中的左侧,选择“另存为”,在打开如下图所示的保存时把格式选择“UTF-8 - 无BOM”然后单击“保存”即可。
第3步:把新保存的文件上传到服务器上去并选择覆盖原文件即可。
第4步:再次打开有验证码的网站,不管是前台也好,后台的登录页面也罢,我们再看看这个验证码即可发现他已经是正常的了,这个验证码不在显示一个红叉或者不显示的问题了。
检查配置文件是否正确。
打开配置文件:cache/configs/system.php,检查有关路径设置的地方:
//网站路径
‘web_path’ => ‘/网站所在的路径/’
如果网站安装在根目录(比如虚拟主机www、public_html、htdocs这类目录下),那么应该设置为:‘web_path’ => ‘/’;如果安装在目录/blog/下,那么应该设置为:‘web_path’ => ‘/blog/’ 。
sublime 可以查看个修改编码格式 检查配置文件的编码格式。
主要检查cache/configs/system.php和api/checkcode.php两个文件的文件编码是否一直,比如程序版本为utf-8版本,那么保存的时候都选择utf-8编码格式。
修改这些文件时,建议使用editplus、EmEditor、Sublime Text 等专业文本编辑器,避免使用text默认本文编辑器。同时注意是否带有BOM签名,需要去掉一些编辑器默认的BOM签名。
这个方法同样对于Phpcms 2008适用,之前碰到过,修改include/config.inc.php和checkcode.php文件编码都为ANSI编码格式(或者utf-8编码格式)就好了。