2011-04-19 118 views
5

我剛剛在我的主機帳戶上安裝了Magento Commerce,性能相當低下。爲了幫助加快網站速度,我安裝了APC緩存,但無法使其工作。我用這些install instructions.如何強制Magento使用APC緩存

我遵循所有的步驟,似乎安裝了APC。沒問題。當我檢查APC.php時,它只顯示1次命中和1次未命中,這是不正確的......讓我認爲APC不活躍或正在使用。

我試圖通過將以下內容添加到/var/www/app/etc/local.xml來確保Magento使用APC。

  <cache> 
        <backend>apc</backend> 
        <prefix>alphanumeric</prefix> 
      </cache> 

任何幫助,非常感謝。

+1

只是一個愚蠢的問題:你確實重啓了你的服務器,不是嗎? PHP ini指令在加載PHP模塊時加載,即服務器第一次需要該模塊時加載。 – user268396 2011-04-19 23:58:58

+0

我在MediaTemple的Gridserver上運行,因此不需要重新啓動Apache。據說更改立即生效。 – user523513 2011-04-20 23:18:34

回答

7

我建議您使用除「字母數字」以外的唯一字符串。這樣,如果您與其他用戶或應用程序共享APC,您的緩存將有所不同。

您是否已將xml節點放置在local.xml中的正確位置?上下文應該是這樣的:

... 
    <session_save><![CDATA[db]]></session_save> 
    <cache> 
    <backend>apc</backend> 
    <prefix>ReplaceThisWithSomeUniqueString</prefix> 
    </cache> 
</global> 

此外,請確保您在更改後local.xml做了rm -rf /var/www/var/cache/*

+0

Jonathan,我確認了XML節點的位置並更改了字符串。我仍然沒有多少運氣。我檢查了PHPInfo文件,並且APC確實出現在那裏。儘管如此,APCInfo仍然沒有顯示任何命中緩存。 – user523513 2011-04-20 23:20:08

1

檢查您的服務器日誌並查找分段違規。當你只看到1次命中/失敗時,這是一個肯定的跡象,每次命中殺死服務器進程。這是某些PHP和APC版本組合的問題。

如果您使用的是mmap後端,請嘗試再次編譯APC而不使用mmap。 (我經常使用mmap後端遇到崩潰。)

有個問題,你使用PHP 5.2或5.3嗎?

1

我遇到了同樣的問題。在我的情況下,我以錯誤的方式設置最大文件大小的參數。我沒有追加價值後面的M

因此,而不是apc.max_file_size = 10M我寫了apc.max_file_size = 10。

+0

這是爲我做的。很多「安裝」指令的年齡足夠早於APC現在要求的M/G後綴。 – gazarsgo 2012-12-27 19:38:37