ECShop的配置信息加载

Eddy 发布于2014-6-27 16:24:26 分类: 技术心得 已浏览loading 网友评论0条 我要评论

ECShop的相关配置信息是保存在数据库的shop_config表中的。实际应用中,为了提高性能,避免反复的数据库读取操作,ECShop会把配置信息缓存在/temp/static_caches/shop_config.php文件中。相关功能是/includes/lib_common.php文件中的load_config函数实现的。如果读取缓存文件失败,则会从数据库中读取并将结果缓存在缓存文件中。



/**

 * 读结果缓存文件

 *

 * @params  string  $cache_name

 *

 * @return  array   $data

 */

function read_static_cache($cache_name)

{

    if ((DEBUG_MODE & 2) == 2)

    {

        return false;

    }

    static $result = array();

    if (!empty($result[$cache_name]))

    {

        return $result[$cache_name];

    }

    $cache_file_path = ROOT_PATH . '/temp/static_caches/' . $cache_name . '.php';

    if (file_exists($cache_file_path))

    {

        include_once($cache_file_path);

        $result[$cache_name] = $data;

        return $result[$cache_name];

    }

    else

    {

        return false;

    }

}



这里ECShop有一个地方个人认为做的不够好,那就是ECShop不会对读取的缓存文件内容进行相关配置信息的校验,如果不小心损坏了缓存配置文件的内容,那样会导致一些莫名奇妙的错误(因为配置信息被破坏了),如果没有些PHP知识,普通人不容易找到具体问题所在,对用户不够友好。


解决方法:后台手动清除缓存即可。

已经有(0)位网友发表了评论,你也评一评吧!
原创文章如转载,请注明:转载自Eddy Blog
原文地址:http://www.rrgod.com/technique/903.html     欢迎订阅Eddy Blog

关于 ECShop  的相关文章

记住我的信息,下次不用再输入 欢迎给Eddy Blog留言