當我編程時(HTML + PHP),我想做適當的錯誤生成器。 我怎樣才能把這條線,當我有一個錯誤,並把一個變量?如何在自定義錯誤消息中包含php源代碼的行數?
實施例:
回聲 「錯誤#03:可變未定義線#」。$線 「」;
謝謝。
當我編程時(HTML + PHP),我想做適當的錯誤生成器。 我怎樣才能把這條線,當我有一個錯誤,並把一個變量?如何在自定義錯誤消息中包含php源代碼的行數?
實施例:
回聲 「錯誤#03:可變未定義線#」。$線 「」;
謝謝。
你會尋找的變量是:
__LINE__
__FILE__
__FUNCTION__
__CLASS__
誰upvoting?爲了OP的目的,使用它們的常量是不可能的。 – 2011-03-01 22:09:15
假設您指的是PHP編譯時錯誤和警告,行號會自動顯示。由於這些消息是在編譯時生成的(因此會導致腳本不能完全執行),所以我建議使用默認消息而不是使用自定義解決方案。
如果PHP不顯示錯誤消息,使用以下代碼來顯示所有頁面上的PHP錯誤消息和警告的:
error_reporting(E_ALL);
有包含該行,其中一個預定的常數,__LINE__
它實際上被稱爲。
但是,我猜trigger_error()
函數完全適合「錯誤發生器」這個術語,因此正是您在尋找的。
它不僅會顯示一行和一個文件以及一個時間戳,還會遵循PHP錯誤報告設置的一般行爲,這非常重要 - 您不應該隱式地回顯錯誤,而應將其放入標準錯誤流
爲自定義錯誤處理程序還有一個debug_backtrace()
函數。
你想抑制PHP產生的錯誤,並創建自己的?如果沒有,啓用PHP生成錯誤的設置是[here](http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting),以及一個相關的問題[here] (http://stackoverflow.com/questions/4481183/php-display-errors)。 – JYelton 2011-03-01 21:54:05
@JYelton:是的,我想生成我自己的 – HulkThor 2011-03-01 21:56:20
+1:很好的問題,我想知道如何獲得自己的行數... – JYelton 2011-03-01 22:07:47