Dedecms验证码都无法显示怎么办


avatar
pcwnas 2023-04-21 268

本文介绍了Dedecms验证码无法显示的解决方法,验证码不显示怎么办,有需要的朋友参考下。

用Dedecms5.7 UTF-8版本,登录后台,发现验证码没法显示了。图片不显示,这应该是很多站长朋友们最长遇到的一个问题,本地测试明明好好的,为什么传上空间或者服务器上验证码就无法显示了呢,这可能是由于没有加载gd库扩展所引起的,那么怎么解决呢?方法一如果是独立的服务器,可以自己操作,那么可以去你服务器PHP安装目录下找到php.ini(如果是用安装了phpStudy,那个php.ini是放在C:\Program Files\phpStudy\PHP5目录下),打开搜索extension=php_gd2.dll,把它前面的;号去掉,重启IIS或者apache等其他服务器。如果你是租用的空间,那么可以找空间商,让他帮你开启。方法二如果使用的是织梦utf8版本的,可以尝试着这种办法,找到data文件夹下的common.inc.php,使用非windows自带文本编辑器,推荐使用emeditor,打开此文件,然后找到右下角,如果是带签名的话,保存为不带签名的,safe文件夹下的inc_safe_config.php也要保存为不带签名的。(www.zzarea.com 网站建设)方法三:如果风站是UTF-8编码的,当你用windows自带的记事本编辑网站文件,保存后就会被自动加上了bom头 (BOM: Byte Order MarkUTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支援UTF-16,UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行)所以就得把文件的bom头全部清除,验证码就会正常显示出来。我这给出一个批量删除网站文件bom头的php代码。使用方法:新建一个php文件,把下面的php代码粘贴到你新建的php文件,随便保存一个文件名,例如:bom.php 。把bom.php文件复制到你网站的根目录下,在浏览器上打开它:http://你网站网址/bom.php 就会自动帮你删除网站的所有文件带有的bom头。<?phpheader(“Content-Type:text/html; charset=utf-8″);if (isset($_GET[‘dir’])){ //设置文件目录$basedir=$_GET[‘dir’];}else{$basedir = ‘.’;}$auto = 1;checkdir($basedir);function checkdir($basedir){if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file != ‘.’ && $file != ‘..’){ if (!is_dir($basedir.”/”.$file)) { echo “文件名称: $basedir/$file “.checkBOM(“$basedir/$file”).” <br>”; }else{ $dirname = $basedir.”/”.$file; checkdir($dirname); } } }closedir($dh);}}function checkBOM ($filename) {global $auto;$contents = file_get_contents($filename);$charset[1] = substr($contents, 0, 1);$charset[2] = substr($contents, 1, 1);$charset[3] = substr($contents, 2, 1);if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) { if ($auto == 1) { $rest = substr($contents, 3); rewrite ($filename, $rest); return (“<font color=red>发现BOM并且已自动删除</font>”); } else { return (“<font color=red>发现BOM</font>”); } // www.jbxue.com}else return (“没有发现BOM”);}function rewrite ($filename, $data) {$filenum = fopen($filename, “w”);flock($filenum, LOCK_EX);fwrite($filenum, $data);fclose($filenum);}?>方法四:如果只是后台登录的验证码无法正常显示的话,那么你可以选择取消登录时要输入验证码,打开织梦data文件夹下的safe文件夹,打开inc_safe_config.php文件,然后把$safe_gdopen = ‘1,2,3,4,5,6,7’;改为$safe_gdopen = ‘1,2,3,4,5’;这样登陆后台就不用验证码了。方法五:权限问题:修改根目录下data–sessions的目录权限为777即可。