Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在多语言页面上缓存codeigniter页面_Php_Codeigniter_Caching - Fatal编程技术网

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

Php 在多语言页面上缓存codeigniter页面,php,codeigniter,caching,Php,Codeigniter,Caching,我有一个使用codeigniter 3.0的多语言页面,我需要缓存整个页面。但如果用户更改了语言,我需要为该语言创建新缓存(而不是删除旧缓存)。。我知道缓存查询字符串,但它对我来说并不漂亮 我想做的是在更改语言集会话之后,创建新的缓存文件。我尝试在Output.php中更改代码,如下所示: if (isset($_SESSION['language']) && ! empty($_SESSION['language'])) { $uri .= '?

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

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

    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;