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

関連記事

WordPress のウィジェット内項目の先頭にアイコンを表示する方法(Font Awesome 5 を利用)

WordPress ではサイドバーなどに ウィジェットを作成することができます。 ウィジェット内の各項目の先頭にアイコンを表示する方法はいろいろあると思いますが、本ページでは Font Awesome …

エックスサーバーに Node.js をインストールする

エックスサーバーに Node.js をインストールする

エックスサーバーは、SSH を使ってターミナルエミュレータでログインすることができますが、そのままだと Node.js が使えません。つまり、node コマンド(npm, npx も)が使えません。 …

エックスサーバー

エックスサーバーのWAF機能について

エックスサーバーの WAF (Web Application Firewall) 機能について書きます。 目次1. WAF機能(エックスサーバー)の良いところ2. WAF機能(エックスサーバー)の残念 …

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

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

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

no image

ロリポップ!マネージドクラウドを使ってみた感想と記録

ここでは、ロリポップ!マネージドクラウド を使ってみた時のメモを書いていきます。(2018年10月時点) 目次疑問点ディスク容量についてメモリについて転送量の目安メモコンテナの起動時間SSHログイン後 …

ロリポップ!「スタンダードプラン」