Php 在多语言页面上缓存codeigniter页面
我有一个使用codeigniter 3.0的多语言页面,我需要缓存整个页面。但如果用户更改了语言,我需要为该语言创建新缓存(而不是删除旧缓存)。。我知道缓存查询字符串,但它对我来说并不漂亮 我想做的是在更改语言集会话之后,创建新的缓存文件。我尝试在Output.php中更改代码,如下所示:Php 在多语言页面上缓存codeigniter页面,php,codeigniter,caching,Php,Codeigniter,Caching,我有一个使用codeigniter 3.0的多语言页面,我需要缓存整个页面。但如果用户更改了语言,我需要为该语言创建新缓存(而不是删除旧缓存)。。我知道缓存查询字符串,但它对我来说并不漂亮 我想做的是在更改语言集会话之后,创建新的缓存文件。我尝试在Output.php中更改代码,如下所示: if (isset($_SESSION['language']) && ! empty($_SESSION['language'])) { $uri .= '?
if (isset($_SESSION['language']) && ! empty($_SESSION['language']))
{
$uri .= '?'.$_SESSION['language'];
}
如果设置了语言(我在display_cache函数中也做了同样的操作),那么应该将语言添加到uri中。。但是我得到了关于session_start()的错误。我试过了,但是在Session.php中出现了错误
我该怎么做?什么钩子?有人能帮我吗?像这样编辑Output.php中的函数\u write\u cache()
加
之后
并编辑->
到
在Output.php中编辑函数_write_cache(),如下->
加
之后
并编辑->
到
您是否使用了codeigniter以及在何处加载会话库???我尝试在auto_load(配置)中加载会话库,但在Output类中它不知道这一点。这就是为什么我使用$_session你使用codeigniter 3吗?还显示加载会话库的代码你使用codeigniter和加载会话库的位置吗?我尝试在自动加载(配置)中加载会话库,但在输出类中它不知道这一点。这就是为什么我使用$_session你使用codeigniter 3吗?还显示加载会话库的代码你使用codeigniter和加载会话库的位置吗?我尝试在自动加载(配置)中加载会话库,但在输出类中它不知道这一点。这就是我使用$\u sessiona的原因。您使用codeigniter 3吗?还显示了加载会话库的代码
$lang = $CI->session->userdata('language');
$CI =& get_instance();
$cache_path .= md5($uri);
$cache_path .= md5($uri).'-'.$lang;