首頁 >後端開發 >PHP問題 >php.ini中怎麼屏蔽所有錯誤

php.ini中怎麼屏蔽所有錯誤

青灯夜游
青灯夜游原創
2021-09-07 19:09:562071瀏覽

php.ini中屏蔽所有錯誤的方法:1、開啟「php.ini」設定文件,在其中搜尋「display_errors」項目;2、將「display_errors」項目的值設為「Off」即可關閉所有的PHP錯誤報告,進而屏蔽所有錯誤。

php.ini中怎麼屏蔽所有錯誤

本教學操作環境: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(&#39;数据库连接失败!&#39;);
?>

運行結果如下:

数据库连接失败!

推薦學習:《PHP影片教學

以上是php.ini中怎麼屏蔽所有錯誤的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn