PHPのエラー表示はデフォルトでオフにする(display_errors)

※当サイトにはプロモーションが含まれています。

投稿日:

1. レンタルサーバーのPHP設定

一般的なレンタルサーバーサービスでは、たいていの場合 PHPが使えるようになっています。

非公開: PHP とは?

2018.03.08

PHPを利用する Webサーバーには、php.ini というファイルが配置されており、ここに記述した設定は、PHPのデフォルト設定として適用されるようになっています。もちろん、各ページや各PHPプログラムでは独自設定を上書きすることも可能です。

2. 危険なPHP設定項目 display_errors

ところで PHP には、display_errors という「エラーを画面に表示するかどうか」の設定項目があります。

display_errors string

エラーをHTML出力の一部として画面に出力するかどうかを定義します。

引用元:PHP: 実行時設定 – Manual

これが有効になっていると、PHPで何らかのエラーが発生した場合、そのエラー内容が画面に表示されてしまいます。見たことがあるという方も多いのではないかと思います。

このエラー情報には、セキュリティやプライバシーに関わる内容も含まれることがあるため、これを画面に表示するというのは全くお勧めできません。

例えば、今はエラーが発生しないPHPのコードでも、PHPのバージョンを上げたらエラーが発生することがあります。もしレンタルサーバーのPHPバージョンを上げたとき(自動・手動に関わらず)に、この現象が起きると「一部のページでエラーが発生するようになったのに、サイトの管理者はそれに気付かない」という困った状態になるのです。

PHPのエラーが発生しているところ(display_errors が有効状態)

ですので、レンタルサーバーを借りたら真っ先に display_errors の値を確認し、有効になっていたら無効に変更しておきましょう。

display_erros を有効にするのであれば、ページ毎の .htaccess ファイルに設定したり、PHPコードの中で設定変更することをお勧めします。

3. display_errors を無効にする手順

PHPのデフォルト設定を変更する手順はレンタルサーバーサービスによって異なりますが、ここではエックスサーバーで説明します。

(1) サーバーパネルにログインします

(2) [php.ini設定] を開きます

[php.ini設定] をクリックして開きます。

(3) 対象となるドメインの [選択する] をクリックします

(4) display_errors のところで [OFF] にチェックを入れます

ついでに、display_startup_errors も [OFF] を選択することをお勧めします。

(5) 確認して変更します

[確認画面へ進む] ボタンを押します。

続いて [変更する] ボタンを押して終了です。

4. 参考

-Tips

執筆者:fitallright

関連記事

レンタルサーバーの Tips

【エックスサーバー】サイトを編集する時は、mod_pagespeed をオフにしましょう

2019年3月27日:「mod_pagespeed設定」機能の新規設定の受付が終了しました。 「mod_pagespeed設定」機能の新規設定の受付終了について – 2019/03/27 …

Xserver

エックスサーバーの phpMyAdmin の認証情報をクリアする

エックスサーバーの phpMyAdmin の認証情報をクリアする手順を紹介します。

WordPress 5.5 で実装されたサイトマップ自動生成機能

WordPress 5.5 で実装されたサイトマップ自動生成機能について説明します。

エックスサーバーで logrotate を使う

エックスサーバーで logrotate を使う

目次1. はじめに2. logrotate とは?3. エックスサーバーで logratote を使う手順1. logrotate 関連のファイルを配置するディレクトリを作る2. logrotate …

【VPS, クラウドサーバー】MySQL (MariaDB) が突然停止する場合は、innodb_buffer_pool_size が大きすぎるかもしれません

VPS や クラウドサーバー(OS は Linux)を借りて、MySQL (MariaDB) を使っている場合のお話しです。 目次現象調査my.cnf で innodb_buffer_pool_siz …