安装dedecms的时候出现的问题,请问一下怎么弄???

安装dedecms的时候出现的问题,请问一下怎么弄???,第1张

通常解决方案是取消后台验证码功能:打开data/safe/incsafeconfigphp把代码中的$safe_gdopen = '1,2,3,4,5,6,7';中的6,删除即可。

一般验证码出不来,可能原因是:验证码需要GD库,请检查你的环境是否开启GD库。

或者打开验证码生成文件include/vdimgckphp找到

for($i=0;$i<$rndcodelen;$i++)

{

$bc = mt_rand(0, 1);

$rndstring[$i] = strtoupper($rndstring[$i]);

$c_fontColor = $fontColor[mt_rand(0,4)];

$y_pos = $i==0 4 : $i($font_size+2);

$c = mt_rand(0, 15);

@imagettftext($im, $font_size, $c, $y_pos, 19, $c_fontColor, $font_file, $rndstring[$i]);

$lastc = $rndstring[$i];

}

imagettftext()函数没有成功执行导致了验证码不显示,具体原因为字体文件路径不对,解决办法是确认include/data/fonts/里面存在字体文件默认为ggbittf,在for($i=0;$i<$rndcodelen;$i++) 上一行 加上如下代码:$font_file= str_replace("\\","/",$font_file);即把字体文件路径中反斜杠替换成斜杠 因为我们知道反斜杠有转译字符的功能,$font_file 路经大体为 盘符:\appserv\www 系统错误的把反斜杠 当作转义用了 导致font_file也就不是一个路径了 所以Imagettftext()函数总是返回错误,加上$font_file=str_replace("\\","/",$font_file);即可解决

还一种可能是include/data/words/wordstxt文件不存在

解决办法就是拷贝一个进去,且找到代码 'word_type' => (int)$safe_codetype,// 1:数字2:英文3:单词

换成'word_type'=>1(或2)既验证码为数字或英文

如果原来可以显示后来取消验证码后再设置就无法显示,可以通过覆盖data与include目录试试。

加上转义字符试一下

{dede:trim replace="<li style=\"text-align: center; \">"}<li>{/dede:trim}

你是不是多了一个 < 括号

在phpini中设置magic_quotes_gpc=On

magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误

在magic_quotes_gpc=On的情况下,如果输入的数据有

单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)等字符都会被加上反斜线。这些转义是必须的,如果这个选项为off,那么我们就必须调用addslashes这个函数来为字符串增加转义。

正是因为这个选项必须为On,但是又让用户进行配置的矛盾,在PHP6中删除了这个选项,一切的编程都需要在magic_quotes_gpc=Off下进行了。在这样的环境下如果不对用户的数据进行转义,后果不仅仅是程序错误而已了。同样的会引起数据库被注入攻击的危险。所以从现在开始大家都不要再依赖这个设置为On了,以免有一天你的服务器需要更新到PHP6而导致你的程序不能正常工作。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 安装dedecms的时候出现的问题,请问一下怎么弄???

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情