ホームページ > バックエンド開発 > PHPの問題 > php.ini 内のすべてのエラーをブロックする方法

php.ini 内のすべてのエラーをブロックする方法

青灯夜游
リリース: 2023-03-12 11:40:02
オリジナル
2042 人が閲覧しました

php.ini のすべてのエラーをブロックする方法: 1. 「php.ini」構成ファイルを開き、その中の「display_errors」項目を検索します。 2. 「display_errors」項目の値を次のように設定します。 「オフ」: すべての 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 を返します。

@ 演算子は式に対してのみ有効であることに注意してください。簡単に言えば、どこかから値を取得できる場合は、その値の前に @ 演算子を追加できます。たとえば、 @ 演算子は、変数、関数、インクルード呼び出し、定数などの前に使用できますが、関数やクラスの定義の前に配置したり、if ステートメントや foreach ステートメントなどの条件構造の前に使用したりすることはできません。 。

@ 演算子は、プログラムの終了を引き起こす可能性のある重大なエラーにも有効です。つまり、@ を使用して、存在しない関数呼び出しや文字が間違っている関数呼び出しの前にエラー メッセージを抑制すると、プログラムは何のヒントもなくそこで死ぬでしょう。

[例] @ エラー制御演算子を使用して、コード内のエラーをマスクします。

<?php
    $link = @mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db") or die(&#39;数据库连接失败!&#39;);
?>
ログイン後にコピー

実行結果は次のとおりです:


数据库连接失败!
ログイン後にコピー
推奨される学習: 「

PHP ビデオ チュートリアル

以上がphp.ini 内のすべてのエラーをブロックする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート