dede后台的一键更新网站和更新系统缓存有什么区别?
1、空间满了。我遇到的验证码错误都是空间满了,如果也遇到验证码错误的问题,可以先检查是否空间满了。
2、用ftp进入你的dedecms程序空间,把data/session目录下除indexhtm外的其它session文件都删除,然后本地ie浏览器清除缓存。重新登录dedecms后台试试看。
3、可以取消掉验证码,具体方法如下:
实现的方法一共分为两步来进行:
打开 loginphp 找到:
if($validate=='' || $validate != $svali)替换为:
if( false )
然后,在模板dede/templets/loginhtm里去掉以下验证码的具体HTML代码:
<li><span>验证码:</span><input name="validate" type="text" id="vdcode” style="width:50px;text-transform:uppercase;" />
<img id="vdimgck" src="/include/vdimgckphp" alt="看不清?点击更换" align="absmiddle" style="cursor:pointer" onclick="thissrc=thissrc+''" />
</li>
phpcms优点:
1 模块化安装,非常适合安装,拆卸,和拿到市场上去交易非常方便的。
2 灵活的标签语法,非常强大。
3 缓存做的非常优秀。几乎支持目前主流的几大缓存系统解决方案,file缓存,eaelerator缓存,memcache缓存,shmop缓存等
4 安全性也不错的。后台为了防范入侵,采用了cookie和session同时存在验证技术,才可以安全进入后台。
多次登录失败,开启验证码功能。防止机器人频繁猜口令。
5 数据库。在根目录下的include目录下,db_aessphpdb_mssqlphpdb_mysqlphp等,就照着他的方法,在增加几个也没问题的。
6兼容性。是在php4的基础上开发的,所以向下兼容性是不错的。在include/globalfuncphp 这个文件可以看到很多if(!function_exist()){},这些代码就是为了兼容php4相关函数。
phpcms缺点:
1 后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,将url写入数据库了。这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的。
2 分部式。 后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件. 如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了。
3数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,字段的类型,比如要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,而不是int,长度是默认的255modelfiled表,才发现该系统是将类型写到该表中了。
4加密/解密程序。目前已经在想相关安全网站已被爆以破解。这也不是什么新闻了。在开发中,关注下相关安全厂商发布的漏洞。
5 数据库抽象层。就以上提到的几个数据库文件。 db_mssqlphp db_mysqlphp db_aessphp 等对于数据库分布式,应该没问题的。 数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的。
Dedecms功能实用,模板功能使用简单。
dedecms具有很好的生成HTML功能,在后台主页面中也添加了一键更新功能,不过,由于DEDECMS后台功能比较完善,可以自动添加自定义文档,而这些文档的更新,必须在单页文档管理栏目下才能完成,点击生成/一键更新无法更新
因此我在后台的文件中填上了以下代码,使得dede自定义文档在更新网站时能够自动完成更新
后台文件 默认/dede/ 目录下
makehtml_allphp
更改位置
144行:源文件
else if($step==10)
{
$adminID = $cuserLogin->getUserID();
$mkcachefile = DEDEDATA"/mkall_cache_{$adminID}php";
@unlink($mkcachefile);
OptimizeData($dsql);
ShowMsg("完成所有文件的更新!","javascript:;");
exit();
}//make step
修改为以下代码后
else if($step==10)
{
include_once(DEDEINC"/arcsgpageclassphp");
$dsql->Execute("ex","SELECT aid FROM `#@__sgpage` ");
$i = 0;
while($row = $dsql->GetArray("ex"))
{
$sg = new sgpage($row['aid']);
$sg->SaveToHtml();
$i++;
}
$adminID = $cuserLogin->getUserID();
$mkcachefile = DEDEDATA"/mkall_cache_{$adminID}php";
@unlink($mkcachefile);
OptimizeData($dsql);
ShowMsg("完成所有文件的更新!","javascript:;");
exit();
}//make step
通过更改以上代码,既可以使得dedecms的一键更新成为真正意义上的一键更新
0条评论