在多语言页面上缓存codeigniter页面

时间:2015-06-08 11:39:54

标签: php codeigniter caching

我有一个带有codeigniter 3.0的多语言页面,我需要缓存整个页面。但是如果用户更改语言,我需要为该语言创建新缓存(不删除旧语言)。我知道缓存查询字符串,但对我来说并不好。

我想要做的是更改语言设置会话并创建新的缓存文件。我尝试在Output.php中更改代码,如下所示:

    if (isset($_SESSION['language']) && ! empty($_SESSION['language']))
    {
        $uri .= '?'.$_SESSION['language'];
    }

如果设置了语言,应该向uri添加语言(我在display_cache函数中做了同样的事情)..但是我收到有关session_start()的错误。我试过但它在那里,但后来我在Session.php中得到错误

我该怎么做?有些勾或什么?有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

在Output.php中编辑函数_write_cache(),如下所示 - >

添加

$lang = $CI->session->userdata('language');

后的

$CI =& get_instance();

并修改 - >

$cache_path .= md5($uri);

$cache_path .= md5($uri).'-'.$lang;