2011-08-04 86 views

回答

4

它指定APC在啓動時從中加載緩存數據的目錄。在一個大的設置(想象100 +服務器),這將允許你放棄編譯PHP文件。如果你在某種程度上比APC和php編譯器更聰明,或者其他類型的默認數據,你也可以提供自己的編譯。

除了this one occurence之外,它未被使用。除非您遇到上述問題之一,否則不應設置它。

1

在寫這篇文章時,由於APC源代碼 中的一個錯誤,這個錯誤不允許你正確地預加載緩存。

裏面「main_apc.c」在調用的方法「static int apc_load_data(const char *data_file TSRMLS_DC)」,這需要存儲與下面的行確定的值的密鑰的長度:

key_len = strlen(key); 

如果我是正確的,這是唯一的字符串本身沒有空終止符的長度 然而,「_apc_store」似乎需要包含終止符的密鑰字符串的長度。 如果我改變線以上:

key_len = strlen(key)+1; 

則預載功能按預期工作。

您還可以注意到,在查看用戶緩存條目apc.php時缺少1個字符。但是,如果您嘗試將其用作密鑰,那麼APC將不會返回內容,因此無法用作解決方法。