2010-09-26 46 views
-5

你認爲error_reporting(1);指令是怎麼做的?你覺得這個error_reporting(1);指令使?

+0

對不起,您能更清楚地瞭解您所問的內容嗎?你想做什麼,你嘗試過什麼,以什麼方式不符合你的期望? – 2010-09-26 20:17:09

+2

到文檔之旅確實不會那麼困難,是嗎?以防萬一你以前從未使用互聯網,這裏有一個鏈接:http://php.net/manual/en/function.error-reporting.php – spender 2010-09-26 20:18:53

+0

我知道,但我是用我的代碼Stackoverflow ... – 2010-09-27 11:07:11

回答

2

E_ERROR is defined as 1,所以它的同

error_reporting(E_ERROR); 

所以基本上它告訴PHP只報告致命錯誤。

正如Skilldrick所說,您應該使用命名常量,因爲它們的定義值可以通過更新版本的PHP進行更改。一個衆所周知的例子是E_ALL,其具有以下的值(來自相同的PHP手冊表):在PHP 5.3.x(目前)在PHP 5.2.x

  • 6143

    • 30719
    • 2047以前
  • +0

    然後不是一種方法來捕捉語法錯誤............... – 2010-09-26 20:26:16

    +0

    @Cris:這些是解析錯誤,而不是致命錯誤。 'E_PARSE'被定義爲4,所以如果你做'error_reporting(1);'或'E_ERROR',你永遠不會看到解析錯誤信息。 – BoltClock 2010-09-26 20:28:28

    5

    PHP docs

    1 E_ERROR(整數)致命的運行時錯誤。這些表示無法從內存分配問題中恢復的錯誤。腳本的執行被暫停。

    請注意,只要定義了像這樣的常量,就應該在文字整數上使用指定的常量。

    +2

    對於命名常量+1。文檔對此非常清楚。 – spender 2010-09-26 20:18:07

    0

    這將是相同的

    error_reporting(E_ERROR); 
    

    manual

    致命的運行時錯誤。這些表示 無法恢復的錯誤, (如內存分配問題)。 該腳本的執行被暫停。