2016-03-08 99 views
0

不知道怎麼說這個問題。我在幾個場地遇到過這個問題。 代碼不產生任何通知/ warniong /錯誤(它只是管芯)如果: 1 I聲明相同的函數名兩次 2 I嘗試恆定傳遞給通過參考參數調試php時沒有通知/警告/錯誤

調試可以是因爲我不知道是什麼導致了它,這可能是前一段時間的改變。

任何想法: 如何預防它? 調試技術?

代碼在服務器上運行,而不是在我自己的機器上運行。 感謝您的幫助。

+0

make error_reporting(1); – Deep

回答

0

使用此代碼錯誤報告:

<?php 
ini_set("display_errors", "1"); 
error_reporting(E_ALL); 
?> 
0

首先,您應該啓用錯誤上一行在你的PHP腳本報告。 使用

error_reporting(E_ALL | E_STRICT); 
ini_set('display_errors', 1); // Any syntax errors 

其次,從這個除了你不能在同一個類具有相同名稱的聲明功能。

三,關於傳遞一個常量,這是因爲你不能通過引用傳遞一個常量,並且沒有辦法做。它是不可變的。常量不是變量。

下面的事情可以通過引用傳遞:

  1. 變量,例如,foo($ A)// foo是功能
  2. 新語句,例如,foo(新foobar的())
  3. 參考從函數返回

沒有其他表達式應該通過引用傳遞。

第四,始終使用異常處理來管理自定義錯誤。

有關詳細信息如何通過引用傳遞,檢查鏈接Here

+0

這並不能真正解決問題。 這個問題是調試的問題之一,而不是被允許或不允許的。 我意識到我正在嘗試的兩件事情都是不允許的。 爲什麼代碼停止運行? 但是它們可能發生在編碼中。檢測它們的路線看起來非常困難。一個簡單的錯誤會更好。看起來這是不可用的。 這是語言的限制嗎? –

+0

對於簡單或自定義錯誤,您必須在此處使用異常處理。 – Deep

0

只需粘貼文件

<?php error_reporting(0);?> 

的頂部剿所有錯誤。或使用

<?php error_reporting(E_ALL);?> 

以獲得有意義的錯誤消息。 關於錯誤報告的更多信息可以在這裏找到: http://php.net/manual/de/function.error-reporting.php

+0

那麼,這將抑制錯誤報告。通過實際打印錯誤而不是隱藏它們,OP可能會得到更多幫助。無論如何,請始終嘗試解釋代碼解答的含義。爲什麼他應該在他的代碼中發佈它,會有什麼影響? –