我試圖找到更好的PHP錯誤處理程序,其中一個將更容易在html中閱讀,但我沒有看到任何谷歌。自定義PHP錯誤處理程序
我試圖做出自己的想法,但搞清楚命令的任務比我花費的時間多,而且遇到了很多錯誤。
這裏是在PHP現在是正確的生產垃圾(文件,類和函數名稱已更改):
Fatal error: Cannot redeclare bbb() (previously declared in /home/user/path/1.php:5) in /home/user/path/1.php on line 26 Call Stack: 0.0309 662280 1. {main}() /home/user/path/1.php:0 0.0610 5610272 2. su::aaa() /home/user/path/1.php:21 0.0610 5610752 3. su::__callStatic() /home/user/path/class.su.php:0 0.0610 5611456 4. call_user_func_array() /home/user/path/class.su.php:27 0.0610 5611912 5. user->aaa() /home/user/path/class.su.php:0 0.0628 5670816 6. user->aaa() /home/user/path/class.user.php:3342 0.0628 5671640 7. user->aaa() /home/user/path/class.user.php:3407 0.0628 5672464 8. user->sss() /home/user/path/class.user.php:3449 0.0628 5679576 9. DA->ccc() /home/user/path/class.user.php:3475
它是一點整行,我不能在我的腦海解析它很好地看看實際發生了什麼。我希望這個調用堆棧可以打印成漂亮的html。
感謝, 利亞
php和錯誤處理是一個有趣的故事,只是結局更像是一個犯罪故事:php的許多部分仍然不會拋出異常或至少是可捕獲的東西,但終止執行。 – Hajo 2012-04-19 22:20:10
只需按CTRL + U(不知道蘋果),你會發現回溯的格式實際上是多行的。此外,如果這是一個測試系統(因爲您需要在瀏覽器中查看錯誤並且未記錄),請考慮xdebug,它可以爲您提供更多風格的HTML回溯和錯誤,甚至包括錯誤。血管變異等。 http://xdebug.org/ < - 去獲取它的小工具。 – hakre 2012-04-19 22:33:01