2011-02-05 60 views
0

我正在使用CakePHP。我在一個產生應用的靜態內容頁面的控制器中有一個動作。我想緩存整個動作/視圖。控制器是Pages,操作是Main。我沒有看到該視圖的緩存文件出現在tmp/cache文件夾中。如何打開CakePHP中的緩存?

  • 我已經在註釋掉的core.php中設置Cache.check,所以有這麼一句話:

    配置::寫( 'Cache.check',真);

  • 我已經加入緩存助手到網頁控制器:

    變量$助手=陣列( 'JavaScript的', '緩存');

  • 我已經告訴控制器緩存被稱爲 「主」 的動作:

    變量$ CACHEACTION =陣列( '主/'=> 86400);

  • 我已經確認從今天開始應用/ tmp/cache文件夾中有其他緩存文件(模型緩存),所以我知道這不是一個權限問題。

這裏是我的網頁控制器的頂部:

var $name = 'Pages'; 
var $helpers = array('Javascript','Cache'); 
var $uses = array(); 
var $components = array('Authentication','Security'); 
var $cacheAction = array('main/'=>86400); 

我不知道我失蹤使在CachePHP視圖的緩存。我錯過了什麼嗎?有任何想法嗎?

+0

你有這方面的任何解決方案?米試圖相同 – 2013-10-21 09:25:04

回答

0

阿呆檢查,很抱歉,但只是爲了確保:

大寫單詞 '的javascript' 和 '高速緩存'

var $helpers = array('Javascript','Cache');不是您粘貼。

確保您添加

var $cacheAction = array('main/'=>86400);

var $helpers = array('Javascript','Cache');

在適當的控制器一流水平。

可能值得在app_controller中嘗試助手聲明。

我不知道你是在Windows還是更明智的東西。如果你使用的是Linux或OSX或其他軟件,請在控制檯窗口中將目錄更改爲app/tmpchmod -R 777 .對於Web用戶來說,這可能是遞歸的chown & chgrp

刪除所有緩存文件 - 將目錄留在那裏。

再試一次。

+0

謝謝。不是愚蠢的檢查。我讓它們變成了資本,但我從來沒有見過CakePHP對這些有區別。刪除了緩存並確認了CakePHP在tmp中重新創建了模型緩存文件等。 – Justin 2011-02-05 16:57:38