2011-11-19 41 views
1

我不知道如何去解決這個非常偶然的有趣的狀態,PHP進入。所以任何想法都將被讚賞。非常偶然的致命PHP錯誤,「無法執行」自動加載功能

也許在過去的一年3〜4次,我的網站將開始返回500錯誤,並且日誌顯示:

PHP致命錯誤:無法上線,未知執行方法dw__autoload 0

dw__autoload已在spl_autoload_register中註冊。當我重新啓動apache時,問題消失了,我忘記了幾個月。我在ubuntu 10.04.3上運行APC,php 5.3.2-1ubuntu4.10。我意識到這裏沒有太多的東西要繼續下去!

回答

3

source code from the point of this error之後,我會冒險(心理調試,因爲你沒有更多的細節)來說這發生,因爲自動加載被調用,已經拋出了異常。

這就是說,我看不出如何發生這種情況。在調用自動​​加載器之前以及調用每個SPL自動加載器函數之後,當前的異常都會被清除。我認爲如果沒有一個能夠再現這個問題的腳本,我們就不會得出結論。全套的可能性是:

  • 執行已經關閉
  • 有一個當前異常
  • 功能不再有效(我看到發生的事情只是由於在PHP中的錯誤,但不管怎麼說它不是可能是因爲它幾乎肯定會產生前的警告)
  • 自動加載功能需要一個參考(同樣,這也將之前生成警告,磁帶自動加載機永遠不會反正工作)
+0

感謝˚F或信息。我很難給出更多的細節......我想我希望有人在那裏有完全相同的問題。 「線0上未知」是線索,還是我們使用APC?由於此時我已經錯過了調試機會,因此下次發生這種情況時我會做什麼的建議? – Ben

+0

@Ben您可以使用調試符號編譯PHP,下次發生時會將gdb附加到它並嘗試弄清楚發生了什麼。無論如何,這可能是APC中的一個錯誤。 – Artefacto