在做ECSHOP二次开发的时候,有时会因为缓存的原因影响程序的调试,当然管理后台有一个按钮是清除缓存,但是频繁操作也过于繁琐。其实我们可以在开发的时候通过修改代码彻底禁用缓存,做到一劳永逸。在产品上线时再将代码修改回去打开缓存。闲话少说,接下来我们看一下如何禁用缓存。
首先打开includes/cls_template.php这个文件找到198行至202行(我使用的是2.72版本,其他版本也应该大同小异),我们看到ecshop是通过file_put_contents函数将缓存写入文件的,我们只要将其注释掉就可以了。修改前代码如下:
- if (file_put_contents($hash_dir . '/' . $cachename . '.php', '' . $data . $out, LOCK_EX) === false)
- {
- trigger_error('can't write:' . $hash_dir . '/' . $cachename . '.php);
- }
- /* if (file_put_contents($hash_dir . '/' . $cachename . '.php', '' . $data . $out, LOCK_EX) === false)
- {
- trigger_error('can't write:' . $hash_dir . '/' . $cachename . '.php');
- }*/
另外找到includes/cls_mysql.php中的 var $max_cache_time = 300; // 最大的缓存时间,以秒为单位 将$max_cache_time的值修改成0。
修改完成后,别忘记进入后台清理一下缓存,这样ecshop的缓存就被彻底禁用了。快乐中开发吧!