2012-11-28 178 views
0

我通過application/config/database.php文件在CodeIgniter中啓用了查詢緩存,它工作正常。然後我禁用它,並註釋掉文件夾路徑。當我重新啓用緩存並取消註釋文件夾路徑時,緩存將無法工作。CodeIgniter數據庫查詢緩存問題

我試過其他目錄。這是本地和Web服務器上的問題。

$db['default']['cache_on'] = TRUE; 
$db['default']['cachedir'] = './application/cache/'; 

這些是我的database.php設置。我試圖刪除'。'從字符串開始。我也嘗試刪除尾隨和前面的斜線。

任何幫助將不勝感激。謝謝。

編輯:我知道該文件夾是可寫的,因爲存儲整頁緩存的作品。

+1

你究竟是什麼意思,它不起作用?任何錯誤?你有嘗試過使用絕對路徑嗎?清理緩存目錄並再次嘗試?也許啓用CI的日誌記錄也可以在這裏幫助 - 只要確保日誌文件夾是可寫的 –

+0

沒有任何錯誤。我嘗試了一條絕對的道路,但仍然沒有骰子。這令人難以置信的令人難以置信。我知道該文件夾是可寫的,就像我使用'$ this-> output-> cache(100);',它寫入文件夾。我也清空了緩存目錄,但仍然沒有任何內容。啓用日誌記錄不會產生錯誤。 –

+0

任何你使用多個數據庫配置的機會 - [環境](http://ellislab.com/codeigniter/user-guide/libraries/config.html)或不同的數據庫組(默認情況下),其中一個具有舊的設置? –

回答

7

定義中的config/database.php中的緩存目錄,如下所示:

$db['default']['cachedir'] = APPPATH . 'cache'; 

此外,還要確保你的目錄是可寫的(如果你是在Mac或Linux)

sudo chmod 777 -R application/cache 

如果仍不起作用,請嘗試在運行db查詢之前明確打開緩存。

$this->db->cache_on();