PHPでエラーの表示/非表示を切り替える (display_errors)

PHPでエラーが発生した場合、普通、開発環境ではエラーを表示させ、本番環境ではエラーを非表示にする。

その設定は、 php.ini でしておくべきだが、設定状態を確認したり、一時的に設定を変更する手順

エラーの表示/非表示を確認

確認するには、以下のコードを実行してみる。

見ての通り、ini_get( 'display_errors' ) で1(True)が返ったら、エラーを表示する。

<?php

if ( ini_get( 'display_errors' ) ) {
    echo '<p>エラーを表示する</p>';
} else {
    echo '<p>エラーは非表示</p>';
}

?>

設定変更

この設定を変更するには、ini_set関数を実行する。

エラーを表示させるには、display_errors に 1を設定。(開発環境)

1を0で割ると、「Zeroで割ってるで~」というエラーが出てくる。


<?php

ini_set( 'display_errors', 1 );

$a = 1 / 0;

?>
error010

エラーを表示させないためには、display_errors に 0を設定。(本番環境)

1を0で割っても、エラーなし。


<?php

ini_set( 'display_errors' , 0 );

$a = 1 / 0;

?>

まとめて

以下は、環境に関係なく、「エラーを表示する」と出力させるハズ。


<?php

ini_set( 'display_errors' , 1 );

if ( ini_get( 'display_errors' ) ) {
    echo '<p>エラーを表示する</p>';
} else {
    echo '<p>エラーは非表示</p>';
}

?>

以上。なお、エラーを表示させる場合、「どのエラーを表示させるか」の選択はこっち

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA