A-A+

ecshop关闭禁用缓存

2015年09月22日 PHP开源系统 暂无评论 阅读 13 views 次

ecshop 的缓存机制主要是为了加快网页的加载速度以及减轻服务器的负担,但是这样一来,给新手用户造成一个新的困扰,就是当我们在调试前台页面的时候,因为缓存起到的作用,不能及时的将修改之后的内容显示出来,像这种 ecshop 的缓存机制其实在大多数成熟 cms 中都存在的,但什么时候使用呢,如果我们不需要再调整页面结构的时候可以进行开启,但如果页面内容要经常去调整的话,就可以将其关闭掉,以免造成前台页面不能及时更新的困扰,下面夏日博客就来说下如何彻底将 ecshop 的缓存关闭掉。

ecshop 当中分为两种缓存,一种是 smarty 的页面缓存,另一种是 sql 查询结果的缓存,这两种缓存都是保存在 templates/caches/文件夹下面,我们只要把这两种缓存分别关闭,就可以彻底关闭掉 ecshop 的缓存机制。

1、关闭SMARTY的缓存:

打开includes/cls_template.php,找到下面一段代码:

  1. if (file_put_contents($hash_dir . '/' . $cachename . '.php', '<?php exit;?>' . $data . $out, LOCK_EX) === false)  
  2.   
  3. {  
  4.   
  5.       trigger_error('can\'t write:' . $hash_dir . '/' . $cachename . '.php');  
  6.   
  7. }   

将这一部分注释掉即可,改成如下代码:

  1. /* 
  2.  
  3. if (file_put_contents($hash_dir . '/' . $cachename . '.php', '<?php exit;?>' . $data . $out, LOCK_EX) === false) 
  4.  
  5. { 
  6.  
  7.           trigger_error('can\'t write:' . $hash_dir . '/' . $cachename . '.php'); 
  8.  
  9.  } 
  10.  
  11.  */  

2、关闭SQL查询结果缓存

打开includes/cls_mysql.php 找到如下代码:

  1. var $max_cache_time=3600;//最大的缓存时间,以秒为单位  
  2.   
  3. //改为如下代码  
  4.   
  5. var $max_cache_time=0;//最大的缓存时间,以秒为单位  

经过上面修改后,就已经将ECSHOP的页面缓存和数据查询缓存都禁用了,这样当你做了任何修改后,前台都能马上体现出最新的变化,但是对服务器的压力会比禁用缓存之前稍微大那么一点。

标签:

给我留言