はじめに
こんにちは。コーダーのもつです。
WordPressをコードを変更し、保存すると画面が真っ白や、ページの一番上にエラーメッセージが英語で書かれていることってありますよね。
特に画面が真っ白はすごく焦ってしまいますよね。サイト自体が壊れてしまったのかとドキドキしてしまいます。
ただ、PHPのエラーの種類を知り、原因を知ればそこまで怖いものでもありません!
今回は、簡単にPHPのエラーについて解説してみますのでぜひ参考にしてみてください。
エラーが表示されないときは?
エラーメッセージも出ていない。ただ真っ白の画面だけが表示されている。。。
こういうときもあるかと思います。
何がエラーかも分からず、どう対処すればいいのか分かりませんね。
エラーメッセージが表示されない場合は、エラーメッセージを非表示にしていることが原因だと思われます。
なので設定を変更します!!
php.ini ファイル内で
display_errors = Off
となっている箇所があると思います。
それをこうですね !!
display_errors = On
php.iniが見当たらない、このファイルは触りたくない。。。という場合も大丈夫です。
実行しているPHPファイルの先頭に下記を記載することで エラーを出すこともできます!
ini_set(‘display_errors’, 1);
PHPのエラーの種類について知ろう!!
ざっくりPHPのエラーの種類について知っておきましょう。
大きく分けて4種類あります。
- Fatal error(致命的なエラー)
- Parse error(構文エラー)
- Warning(警告)
- Notice(注意)
それぞれについて軽く説明します。
Fatal error
致命的なエラーと訳されますね。一番きついエラーです。
主な原因としては 同名の関数定義や、未定義の関数呼び出しなどがあります!
エラーメッセージに記載されている内容と箇所をチェックしてみましょう。
Fatal error: Cannot redeclare test() (previously declared in test.php:3) in test.php on line 8
と出れば、
Cannot redeclare test() = 直訳︰test()は再宣言できない
in test.php on line 8 = 直訳 ︰test.phpの8行目
ですね。
Parse error
構文エラーです。
このエラーの原因は、PHPの文法エラーです。
この場合も、エラーメッセージの内容を訳してみましょう。
すぐに問題の箇所が見つかると思います!
Warning
警告となります。厳密にはエラーではありません。
プログラムの最後まで実行されるので画面にはサイトが表示されていると思います。
この場合も、エラーメッセージの内容を訳し対処しましょう。
Notice
注意となります。
内容的に警告よりも軽度なものです。
こちらもプログラムは最後まで実行されます。
この場合も、エラーメッセージを元に修正するのがベストですが修正の処理をせず、そのままプログラムを使用したいこともあると思います。
その場合は、Noticeは画面に表示されないようにすることもできます!!
php.iniファイル内で
error_reporting = E_ALL & ~E_NOTICE
とするだけです。
さいごに
いかがだったでしょうか。
PHPのエラーについて軽く知っておくだけでどう対処すべきか分かるので、気持ちもだいぶ楽になりますね。
僕ももっとエラーの恐怖を克服できるよう頑張ります。
この記事を書いた人
もっちゃんもつ
抽象クラスをインスタンス化するべく修行中です。