php 設定error_reporting(0)和ini_set('display_errors', 0)之後,還是顯示錯誤

來源:互聯網
上載者:User

php 5.4
apache 2.2


關閉錯誤報表和錯誤顯示

依然會顯示錯誤

按照我的理解,error_reporting(0)之後就應該不會顯示錯誤了,這是怎麼回事?

後來我又試著在php.ini者.htaccess中將display_errors設為off,才抑制了錯誤報表的顯示。

而根據PHP手冊中的描述

display_errors指令是屬於 PHP_INI_ALL 因而就可以在任何地方被設定,包括ini_set() 。

這又是怎麼回事?

回複內容:

php 5.4
apache 2.2


關閉錯誤報表和錯誤顯示

依然會顯示錯誤

按照我的理解,error_reporting(0)之後就應該不會顯示錯誤了,這是怎麼回事?

後來我又試著在php.ini者.htaccess中將display_errors設為off,才抑制了錯誤報表的顯示。

而根據PHP手冊中的描述

display_errors指令是屬於 PHP_INI_ALL 因而就可以在任何地方被設定,包括ini_set() 。

這又是怎麼回事?

PHP不是一行一行去解析然後執行的,如果這樣上下文根本無法綁定起來。是一個檔案一個檔案去解析的。像你這樣一個檔案沒有解析成功,那麼這整個檔案的代碼都無法執行的。 你可以放在 include 的檔案裡面將你的 sdfsdf 放裡面看看。要保證主檔案是可編譯通過的,再試試

PS:不是PHP沒有執行是你寫的代碼沒有執行。

在PHP代碼的第一行就加上這句,可以屏蔽一些非關鍵的報錯。
比如你的輸入的這段代碼,只是變數$system_path沒有被定義。
PHP預設沒有定義的變數會報錯。

只要通過

就可以屏蔽非關鍵的報錯。
而一旦出現比這個更進階的錯誤,都屬於會讓整個PHP網站無法啟動並執行嚴重錯誤。

屏蔽錯誤不利於自己Debug,慎用。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.