我有一个带有codeigniter 3.0的多语言页面,我需要缓存整个页面。但是如果用户更改语言,我需要为该语言创建新缓存(不删除旧语言)。我知道缓存查询字符串,但对我来说并不好。
我想要做的是更改语言设置会话并创建新的缓存文件。我尝试在Output.php中更改代码,如下所示:
if (isset($_SESSION['language']) && ! empty($_SESSION['language']))
{
$uri .= '?'.$_SESSION['language'];
}
如果设置了语言,应该向uri添加语言(我在display_cache函数中做了同样的事情)..但是我收到有关session_start()的错误。我试过但它在那里,但后来我在Session.php中得到错误
我该怎么做?有些勾或什么?有人可以帮我吗?
答案 0 :(得分:0)
在Output.php中编辑函数_write_cache(),如下所示 - >
添加
$lang = $CI->session->userdata('language');
后的
并修改 - > 到 $CI =& get_instance();
$cache_path .= md5($uri);
$cache_path .= md5($uri).'-'.$lang;