簡體   English   中英

未定義函數時,PHP會靜默失敗?

[英]PHP fails silently when function not defined?

我正在從PHP4遷移到PHP5

我的.htaccess中有這個:

php_flag display_errors on
php_value error_reporting 2039

用於顯示所有錯誤。

我仍然遇到一些錯誤,但是當我調用一個未定義的函數時,我常常會遇到一個錯誤,但是現在它停在了它所在的位置,並將錯誤發生之前的一切發送給客戶端。 沒有錯誤信息。

這是phpinfo告訴我的內容:

Directive   Local Value Master Value
display_errors  On  Off
error_reporting 2039    6143

我希望能夠看到我的錯誤消息以解決問題。

有人可以告訴我我需要做什么嗎? 謝謝!!

如果一切失敗,只需將此代碼放在(每個)腳本的開頭:

error_reporting(E_ALL);
ini_set('display_errors', 1);

這應該顯示所有消息:

ini_set('display_errors', true);
error_reporting(E_ALL);

我猜您的PHP 5版本> = PHP 5.2.0,原始錯誤報告級別為E_ALL & ~E_NOTICE (或E_ALL ^ E_NOTICE ,兩者的結果相同)。

在PHP 5.2.0之前, E_ALL的值為2047 ,由於未包括E_NOTICE級別(為8 ),因此您的錯誤級別為2039 從PHP 5.2.0開始, E_ALL更改為6143 (從PHP 5.3.0開始3071930719 ),這意味着E_ALL & ~E_NOTICE 30719不再是2039 ,而是6135 (或PHP 5.3中的30711 )。

至於不顯示錯誤(調用未定義的函數應該是致命錯誤!),請參見其他答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM