我在我的個人CMS上使用codeigniter緩存。問題是,如果用戶登錄管理,我不想顯示緩存頁面。爲登錄用戶禁用Codeigniter的緩存
看到在谷歌這個教程: http://www.badpenguin.org/codeigniter-cache-disable
class MY_Output extends CI_Output {
function _display_cache(&$CFG, &$URI)
{
/* Simple Test for Ip Address */
if ($_SERVER['REMOTE_ADDR'] == NOCACHE_IP)
{
return FALSE;
}
/* Simple Test for a cookie value */
if ((isset($_COOKIE['nocache'])) && ($_COOKIE['nocache'] > 0))
{
return FALSE;
}
/* Call the parent function */
return parent::_display_cache($CFG,$URI);
}
}
是,本次會議是在數據庫(ci_sessions),我不能訪問它裏面MY_Output問題。
使用:
$CI =& get_instance();
$CI->session->userdata('userID')
給我:
Class 'CI_Controller' not found in
由於控制器輸出之前運行,並且會話需要CIcontroller,我唯一可以在數據庫和encription認爲它禁用會話存儲,我不想那麼做。
有人可以告訴我一些嗎?我仍然無法找到解決方案!
謝謝!
嗯,有趣的......如果答案波紋管沒有幫助 - 而不是延長CI類的,這裏是一個有趣的想法:HTTP:/ /goobbe.com/questions/1927427/disable-output-caching-in-codeigniter-for-logged-in-users - 基本上,你可以製作一些類似'預覽'控制器的管理員輸出不會被緩存的地方,所以他可以預覽他所做的更改。這不是完美的解決方案,但它值得嘗試... – sinisake
作爲控制器之前的緩存加載,這不會工作。 –
那麼..唯一的事情我可以做的就是停止使用數據庫來存儲緩存,我認爲... –