ecshop 缓存文件丢失 temp/static_caches/shop_config.php 的解决方法

ecshop 缓存文件丢失 temp/static_caches/shop_config.php 的解决方法

原因是 ecshop 的 includes/lib_common.php load_config 函数对应读取文件没做合适的检验,导致如果文件为空,那么会使 ecshop 完全瘫痪!

游子在最近的一个应用中遇到类似问题,经过一番研究发现,原来是temp/static_caches/shop_config.php文件被清空了,文件被清空的原因可能是多人同时操作后台的修改商店设置和清除缓存所导致的。

发现在include/lib_common.php的load_config函数中,读取静态缓存的地方判断并不完全,于是修改为下方代码:

解决方法如下:

打开 includes/lib_common.php 文件

修改成:

function load_config()
{
    $arr = array();

    $data = read_static_cache('shop_config');
    if ($data === false  || empty($data['lang']))  
// 原来为 if ($data === false)

增加了 || empty($data['lang']) 的判断这样当ecshop获取配置文件,如果配置文件为空的话就会重新查询数据库来获取配置文件信息,从而避免了当配置文件为空,导致站挂掉的问题。

用支付宝打赏用支付宝打赏 用微信打赏用微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者


最后编辑于:2019/1/9作者: 游子

热爱一切美好的新事物,搞网站也被网站搞,剁手折腾。关注与学习Web相关技术与UI\UE\UED\UCD\Server相关知识,服务器运维、前端、后端、非专业程序猿、非高级前端后端攻城师!

1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

  1. 丘八阅读网 丘八阅读网说道:
    1#

    文章不错,非常喜欢