香港独立IP空间
香港php空间
美国php空间
域名注册

无忧主机小编粗略统计了下,最近一个月的用户售后工作中接待了8起由于ecshop缓存问题导致网站白屏的故障。其中有一个无忧主机用户和我说,能否禁止ecshop的缓存,来拒绝这类事件的发生。那么,是否可以实现禁止echosp缓存功能类?这个是可以的。如何实现禁止或关闭ecshop网店系统的缓存功能类?方法如下:

我们在关闭ecshop缓存的时候,需要大家先明白,ecshop的缓存分为两类:

一类是: SMARTY的页面缓存

另一类是:SQL查询结果的缓存

下面我我们对应的关闭缓存的方法

1、关闭ecshop的SMARTY页面缓存:

我们只需要注释掉一段源代码,就可以轻松实现。

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

 if (file_put_contents($hash_dir . '/' . $cachename . '.php', '<?php exit;?>' . $data . $out, LOCK_EX) === false)

{

      trigger_error('can\'t write:' . $hash_dir . '/' . $cachename . '.php');

}

将这一部分注释掉即可,改成

/*

if (file_put_contents($hash_dir . '/' . $cachename . '.php', '<?php exit;?>' . $data . $out, LOCK_EX) === false)

{

          trigger_error('can\'t write:' . $hash_dir . '/' . $cachename . '.php');

 }

 */

2、关闭SQL查询结果缓存

登录无忧主机的ftp,在网站根目录下找到includes/cls_mysql.php

找到

var $max_cache_time=3600;//最大的缓存时间,以秒为单位

改为

var $max_cache_time=0;//最大的缓存时间,以秒为单位

保存后,即可共关闭ecshop的sql查询结果的缓存功能。

上述的禁用ecshop缓存功能,无忧主机小编,已经经过测试验证,完全可行,如果您有需要,照着文档执行就可以。

上面我们说了实现的方法,那么是否建议这么做类?无忧主机小编,认为这种方法是杀鸡取卵的做法,虽然可以在一定程度解决由于缓存问题,但是我们熟悉ecshop的站长都知道,ecshop的缓存机制很大程度上可以减少echsop反复读取、调用数据库的几率,从而达到减轻服务器负载,提高网站访问速度的效果。当我们,使用缓存的时候,那么一些新手站长会有可能遇到修改的东西没有变化,或由于缓存问题导致网站白屏,这些都可以到ecshop后台删除下网站缓存就可以解决。

那么,当我们关闭echosp的缓存机制后,那么在一定程度上会影响您对无忧香港独立php虚拟主机的体验,同时也会降低网站的负载性能,那么最近的解决方案,我认为应该是,能定期自动删除ecshop缓存,这个才是解决问题正确方法,如何定期自动删除ecshop的缓存信息类?您可以查询无忧主机小编以前介绍的一篇文章“自动定时删除ecshop网站缓存”中,有详细介绍。

本文地址:http://www.51php.com/ecshop/10912.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档