2012-10-06 78 views
1

自從我在開發本地服務器上啓用eAccelerator後,發生了一件奇怪的事情。 無論腳本上下文如何,它都會發生,因此,如果我在單獨的.php中運行此代碼並不重要,或者實際上希望在應用程序中捕獲拋出的錯誤。PHP eAccelerator與腳本執行衝突

這一點讓Fatal Error: Uncaught exception

try { 
    throw new \Exception("Get out of here asap."); 
    echo 'We never make it to here..'; 
} 
catch (\Exception $e) { 
    echo 'Caught exception: ', $e->getMessage(), "\n"; 
} 

,但如果我把eAccelerator在關閉一切只是工作。 well..at至少這個問題不會發生。

我使用統一的服務器與最新的PHP 5.4.7和Apache 2.4.3上的Win XP SP3 32

編輯安裝:這是一個與命名空間和非命名空間中的文件一樣。 編輯:我更正了語法錯誤>。>非常抱歉。

回答

0

您應該只運行其中一個:eaccelerator或APC。他們都做同樣的事情,操作碼緩存您編譯的PHP。我會和APC一起去,因爲你也可以使用它的用戶緩存來進行內存緩存 - 大多數框架都支持將它用作緩存後端。

+0

看起來好像我在同一時間測試它們,謝謝指出! – tenshou

0

不知道這是否僅僅是因爲你製作了簡化的測試用例。

但在代碼中,您提供的try塊永遠不會關閉。所以它很可能是你拋出的異常永遠不會被抓到...

+0

對不起,我糾正了錯誤,我匆匆貼上了。此代碼已經過測試,不僅僅是爲了解決這個問題。 – tenshou