美文网首页本本儿
织梦(Dedecms)广告缓存问题清理更新方法

织梦(Dedecms)广告缓存问题清理更新方法

作者: b90a0d721a62 | 来源:发表于2018-12-06 13:47 被阅读4次

确实织梦在缓存这一块存在很大BUG,但是这并不影响我们使用它,对于新手小白来说以下可能会帮助到你。

第一种方法:更改织梦系统缓存时间

织梦有2种调用广告方式:内置代码与JS调用广告,织梦DedeCms广告通常使用的是JS调用形式,这样就会遇到广告改动之后前台主页刷新不显示改动更新。

一开始可能会以为没有改变的原因是因为没有更新织梦缓存,但更新了系统缓存也还是这样,网页中的广告没有更新。

鉴于:织梦DedeCms解决JS广告调用更新速度慢更新不显示问题我们可以这样解决:

进入织梦后台管理界面;

系统 -> 系统基本参数 -> 性能选项;

找到“需缓存内容全局缓存时间(秒): 3600”;

将这个数字改为你认为合适的时间.比如设置成0;

这样我们就能及时看到广告效果了;

织梦JS调用广告的优点在于不用繁复生成页面即可替换广告内容,缺点会占用一定资源。

第二种方法:删除织梦广告缓存文件

无论是生成页面还是更新缓存,前台页面中的广告代码就是不更新,那这到底是为什么呢?经过仔细分析,发现是调用缓存,是dedecms的ad_edit.php编辑保存信息后又没有删除原来的缓存信息,算是一个BUG吧,这里给大家一个解决办法,具体修改如下:

找到dede/ad_edit.php文件,在大约第70行的位置找到如下代码:

$dsql->ExecuteNoneQuery($query);ShowMsg(“成功更改一则广告代码!”,$ENV_GOBACK_URL);

然后修改代码如下:

$dsql->ExecuteNoneQuery($query);// 删除广告缓存文件 beginif(file_exists(DEDEDATA.”/cache/myad-$aid.htm”)){@unlink(DEDEDATA.”/cache/myad-$aid.htm”);}// 删除广告缓存文件 endShowMsg(“成功更改一则广告代码!”,$ENV_GOBACK_URL);

修改成功后不用再次一键更新织梦网站就能看到改动后的广告代码。

第三种方法:清理织梦缓存文件夹

打开后台文件:dede/sys_cache_up.php找到CheckPurview('sys_ArcBatch');

在其下一行添加以下代码:

//清理缓存增加版functionclean_cachefiles( $path ){$list =array();foreach( glob( $path .'/*')as$item ){if( is_dir( $item ) ){$list = array_merge( $list , clean_cachefiles( $item ) );}else{$list[] = $item;}}foreach( $listas$tmpfile ){@unlink( $tmpfile );}returntrue;}

找到if($uparc==1),在其上一行添加以下代码:

//清理datacacheclean_cachefiles("../data/cache");

//清理datatplcacheclean_cachefiles("../data/tplcache");

//清理datasessionsclean_cachefiles("../data/sessions");

增加织梦缓存清理功能之后,点击“更新系统缓存”,然后在前台刷新一下页面就可以了!

文章首发于本本儿:http://www.benbener.cn/question/59

相关文章

网友评论

    本文标题:织梦(Dedecms)广告缓存问题清理更新方法

    本文链接:https://www.haomeiwen.com/subject/cufocqtx.html