2012-08-01 130 views
3

我是新來的PHP和使用APC框架。我試圖爲使用APC的類編寫一些單元測試,但我遇到了一些試圖刪除的問題,然後在APC中再次設置一些關鍵值。我的問題可以歸結爲一小部分的代碼不工作的方式,我會想到:PHP apc_store然後apc_delete然後apc_store返回一個失敗

$success = apc_store("helloWorld", 2, 0); // true 
$success1 = apc_delete("helloWorld");  // true 
$success2 = apc_store("helloWorld", 3, 0); // false 

另外做一個獲取呼籲"helloWorld"將返回NULL,我也得到了警告:

[APC-警告]潛在的緩存大滿貫避免關鍵「的helloWorld」

另外我試圖把它添加到我的php.ini文件:

apc.enable_cli=ON 

我自己也嘗試加入這個我php.ini文件增加從默認32M爲64M的內存限制:

apc.shm_size = 64M 

我發現此相關的問題在Why would apc_store() return false?,但既不建議的工作我雖然。

我該如何解決這個問題,以便返回預期的三個true?爲什麼他們沒有被退回?

+0

如果你在第三行使用'apc_add',它會工作嗎? – Ben 2012-08-01 04:07:17

+0

替換'$ success2 = apc_store(「helloWorld」,3,0);'用'$ success2 = apc_add(「helloWorld」,3,0);'仍然會使success2爲false。 – user1567475 2012-08-01 04:25:46

+0

另請注意我正在使用APC版本3.1.4 – user1567475 2012-08-01 04:38:58

回答

1

您的示例代碼對於PHP 5.3.12中的apc 3.1.9完全適合我(true/true/true),所以也許您應該嘗試更高版本?

+0

升級我的APC版本解決了問題! – user1567475 2012-08-06 23:45:45