php.ini中屏蔽所有錯誤的方法:1、開啟「php.ini」設定文件,在其中搜尋「display_errors」項目;2、將「display_errors」項目的值設為「Off」即可關閉所有的PHP錯誤報告,進而屏蔽所有錯誤。
本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦
php.ini屏蔽所有錯誤的方法:
開啟php.ini 設定文件,在其中搜尋display_errors,然後將display_errors 的值設為Off 即可關閉所有的PHP 錯誤報告。如下圖:
; This directive controls whether or not and where PHP will output errors, ; notices and warnings too. Error output is very useful during development, but ; it could be very dangerous in production environments. Depending on the code ; which is triggering the error, sensitive information could potentially leak ; out of your application such as database usernames and passwords or worse. ; For production environments, we recommend logging errors rather than ; sending them to STDOUT. ; Possible Values: ; Off = Do not display any errors ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) ; On or stdout = Display errors to STDOUT ; Default Value: On ; Development Value: On ; Production Value: Off ; http://php.net/display-errors display_errors = Off
這個方法應該是最徹底的一種解決辦法,因為它則是作用於所有的 PHP 檔案。
擴充知識:屏蔽錯誤的其他方法
#使用錯誤控制運算子:@
PHP 支援使用錯誤控制運算子@。將其放置在一個 PHP 表達式之前,該表達式可能產生的任何錯誤訊息都將被忽略。
如果用 set_error_handler() 設定了自訂的錯誤處理函數,這個錯誤處理函數仍然會被調用,而如果在出錯語句前使用了@的話,錯誤處理函數將返回 0。
要注意的是,@運算子只對表達式有效。簡單來說就是,如果能從某處得到值,就能在它前面加上 @ 運算子。例如可以在變數、函數、include 呼叫、常數等等之前使用 @ 運算符,但不能把它放在函數或類別的定義之前,也不能用於條件結構例如 if 和 foreach 等語句前。
@運算子對於可以導致程式終止的嚴重錯誤也是有效的,這意味著如果在某個不存在或敲錯了字母的函數呼叫前用了@來抑制錯誤訊息,那麼程式將沒有任何提示的死在那裡。
【範例】使用 @ 錯誤控制運算子來屏蔽程式碼中的錯誤。
<?php $link = @mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db") or die('数据库连接失败!'); ?>
運行結果如下:
数据库连接失败!
推薦學習:《PHP影片教學》
以上是php.ini中怎麼屏蔽所有錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!