サイト型やブログ型など、Webメディアの運営形態に関わらず、長い期間運用しているうちに、突然にWebサイト全体や特定の単体ページが表示される最上部にPHPのエラーメッセージが表示されてしまう時があります。
これらのエラーメッセージが起きる原因はさまざまあるのですが、下記の画像でいうと以下のようなイメージです。
ブログサポートをしていて、Webサイトにこのような表示さ出てきてしまうようになってしまい、せっかく始めた特化ブログをやめてしまったりなど、そんなこともありました。
最近のレンタルサーバーには、基本的に毎日バックアップ機能がサービスの中についているので、突然にこのような状態になったのであれば、前日に戻してみて経過観察をすることができます。
しかし、時間が経つと、また再現されてしまってPHPのエラーメッセージが出てくるともう嫌になってしまうと思います。
本記事では、いくつかの前提条件において対応している状況であれば、とりあえずの応急処置としてエラーメッセージを非常時にする方法を解説します。
また、本記事は開発者向けの内容ではありません。
WordPressを用いて、基本的なWebサイトの運用ができる人向けを想定して書いていいますことを、ご了承ください。
注意事項
本記事のコンテンツ利用によって生じた不具合や損害については保証できません。自己責任でお願いいたします。詳細な利用規約は別途用意しております。
PHPのエラーメッセージを消す作業の前に確認したいこと
本記事で扱うような、Webサイトの最上部に表示されるPHPのエラーメッセージはきちんと記録しておくものとして、加えて確認しておきたいのは、例えば、利用しているレンタルサーバーがエックスサーバーの場合です。
例えば、エックスサーバーの場合だと「サーバーパネル」から「PHP」、「PHP.ini設定」が用意されており、運用しているドメインごとに「エラー表示」に関して「表示」するか「非表示」にするかの設定変更が簡単に行えます。
PHPのエラーメッセージを消すための前提条件
PHPのエラーメッセージを非常時にしたからといって、エラーそのものが消えたりするわけではありません。
根本的な解説は必要になってくると思います。
また、本記事で紹介するやり方について前提条件を記載します。
加えて、どんなエラーメッセージが表示されているのか、応急処置をする前にスクリーンショットやコピペを必ずしておきましょう。
- レンタルサーバーを利用している
- CMSにWordPressを利用している
- とりあえずWebサイトは表示されている
- 「wp-config.php」という単体のファイルで対応する応急処置
- レンタルサーバーが用意しているファイルエディタで操作する
最近のレンタルサーバーは、FTPツールを用いなくてもWebブラウザのコントロールパネル上でファイルの書き換えを行うことが可能です。
全体のバックアップに加えて、こちらについても、書き換える前の「wp-config.php」をダウンロードしておき、何かあった時に備えておきましょう。
このほか、機能をファイルで分割して対応内容ごとに処理できるようにしたり、他のファイルで対処する方法もあります。
しかし、レンタルサーバーの環境によっては、直接自分で書き換えたいファイルの扱うことができない場合もあったり、このほかにも、記述内容を誤った状態で、と他のphpファイルの動作に影響するような状態で更新してしまうと、より深刻な状況に陥ることがあります。
ログファイルだけ残して、エラー画面だけ出さないようにするなどの、行える施策や保守のために必要なやり方や使い分けのためのコード記述方法は複数あるのですが、本記事では応急処置としてのやり方を記載いたします。
PHPのエラーメッセージを非表示にするためのコード
まず先に、とにかくPHPのエラーメッセージを非表示にするためのコードを記載します。
下記のコードを、利用しているレンタルサーバー内で「wp-config.php」開き、一番下にコピペして保存してください。
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
取り急ぎは、WebサイトからPHPのエラーメッセージが消えていると考えます。
「wp-config.php」は、「ファイル検索」を行なって探す方法もありますし、基本的にはインストールされたディレクトリの直下にあるので、レンタルサーバーの場合は、順にフォルダを開いていきながら探していけば見つけることができると考えています。
それぞれのコマンドが持つ意味
上記の4行のコードは、1つ1つちゃんとした意味を持っています。
それぞれ1行ごとのコードついて、情報の参照元を紹介します。
1行目のコード
define('WP_DEBUG', false);
下記はWordPress でのデバッグに関するコードの説明ページです。
WP_DEBUG|WordPressサポートフォーラム
2行目のコード
define('WP_DEBUG_DISPLAY', false);
このコードについても、WordPress でのデバッグに関するコードの説明ページに記載があります。
WP_DEBUG_DISPLAY|WordPressサポートフォーラム
3行目のコード
ini_set('display_errors','Off');
PHPにおけるエラーコードの表示について記載されています。
display-errors|The PHP Group
4行目のコード
ini_set('error_reporting', E_ALL );
エラーレポートのレベルに関するコードの詳細説明が記載されています。
error_reporting|The PHP Group
PHPのエラーメッセージを非表示にするためのコードを入れたら違うメッセージが出てきた
下記のコードを、「wp-config.php」に入れて更新したら、「また違うエラーメッセージが出てきた」ということもあると考えます。
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
例えば
Warning: Constant WP_DEBUG already defined in
上記のように「already:もうすでに」、また、「何行目のコードはすでにあります。」という別のエラーメッセージが出てくることがあります。
よく読むと、最初「wp-config.php」に追加した4種類のコードの名前が出ているはずなので、この場合は、該当するコードを消してください。
そして、もしかしたら、「wp-config.php」の別の場所に、そのコードがすでに記載されていたり、または、本記事冒頭で紹介したように、すでにサーバーのコントロールパネルの機能に、エラーメッセージの設定ができる箇所があるかもしれません。
PHPのエラーメッセージについてエラーレベルのことを少し解説
今回のように、急にPHPのエラーメッセージが出てくるとアプリケーション開発などプログラミングを普段から行っていない方はびっくりしてしまうと考えています。
今回、取り急ぎ、エラーメッセージを非表示にする方法を記載しましたが、それは非表示にしただけであって、エラー自体がなくったわけではありません。
エラーレベルと、コードの内容によっては、例えばWordPress自体に連絡したり、WordPreテーマを開発したところ、あるいはプラグインなどを開発したところなどに連絡して、早く解決したほうが良い場合もあります。
本記事では、全てではないですが、取り急ぎの応急処置で済む可能性が高いものと、緊急性が高いエラーメッセージを含めて3段階のレベルで紹介しておきます。
エラーメッセージのレベル
本記事では、開発者向けではないWebサイト運営向けなので、取り急ぎ、3段階に分けてエラーメッセージのレベルを記載します。
エラーメッセージのレベルによっては、もはやWebサイト自体が表示されない状態になるものも含んでいます。
Notice
NOTICEは、「通知」レベルのエラーメッセージです。
しかしながら、WordPressも6.4以降、推奨のPHPバージョンはPHP8.x以上になりました。
NOTICEだったものが「WANING」に変わっているものが増えました。
このレベルは、取り急ぎ、エラーメッセージを「非表示」にしても問題ありません。
Waning
WANINGは、「要注意」レベルになってきます。
検索エンジンのことなどを考えると、Webサイトの運営者としては、すぐに対処しておきたい問題も多く含まれているので、Webサイトがとりあえずは動いているからと、単純に放っておくのは良くないので、「非表示前」に出たエラーメッセージを把握して、きちんと修正していきましょう。
Error(ParseおよびFatal)
この辺りのエラーレベルになると、Webサイト及び、該当のページがそもそも表示されない状態になっていると考えます。
Fatalエラーレベルになると、そもそもエラーメッセージも表示されない状態になったりするので、エラーメッセージの「表示・非表示」というよりは、すぐにWebサイトの復旧をする必要があります。
個人や法人といっても、開発者の方々抜きのオペレーションでWebサイト運営している場合は、Error状態になる前のバックデータがあるのか、何が起きてエラーになったのか、再現性はあるのか?など、色々なところから原因を探って、解決へのアプローチをする必要があるので、エラーメッセージの内容を記録して解決していきましょう。
PHPエラーが出ている場合の解決に役立つWebサイト
なんといっても、PHPに関してはThe PHP GroupのWebサイトから、エラー内容などを検索すればヒントが出てきます。
また、本記事ではCMSにWordPressを利用していることが前提になっています.
なので、WordPress サポートを活用するのが解決までの近道になると言えます。
PHPエラーメッセージは、Webサイト運営者としてかなりびっくりする類の内容ですが、本記事が少しでも役に立てば幸いです。
最後まで読んでいただき、ありがとうございました。