PHPを書いていてエラーが出力されるのはよくあることです。
ですが、全て英語で記載されていてどんな問題が発生しているのか、わからないことが多々あるでしょう。
そこで今回は初心者の方が良く出力されるエラーを取り上げ、内容を解説していきます。
エラーの種類について
エラーは大きく分けて4種類存在します。
- Parse error
- Fatal error
- Warning
- Notice
では、一つずつ解説していきます。
Parse error 意味:構文エラー
こちらは初心者が最もはまりやすいエラーです。
構文エラーと日本語では訳します。
PHPの文法上で間違いがある場合に出力されます。
以下にParse errorが出力されるコードを紹介します。
<?php
$sample1 = "サンプル";
$sample2 = "サンプル";
if ($sample1 == "サンプル"){
echo "サンプル一つ目です。";
※if文の閉じ忘れ
if ($sample2 == "サンプル"){
echo "サンプル二つ目です。";
}
?>
if文の閉じ忘れでparse errorが出力されます。
構文のエラーは気を付けましょう。
良く出力されるエラー内容は下記にまとめています。
parse error syntax error unexpectedの原因と対処法
Parse error: syntax error, unexpected end of file, expecting ‘,’ or ‘;’の原因と対処法
Fatal error 意味:致命的なエラー
Fatal errorは致命的なエラーと訳されます。
Fatal errorは存在しない名前の関数を呼び出したり、ユーザー定義関数を二重に定義したりするということです。
以下にFatal errorが出力されるコードを紹介します。
<?php
function sample() {
return TRUE;
}
function sample() {
return TRUE;
}
?>
良く出力されるエラー内容は下記にまとめています。
Fatal error: [] operator not supported for stringsの原因と対処法
Fatal error: Call to undefined function(関数名)の原因と対処法
Fatal error: Cannot access private propertyの原因と対処法
Fatal error: Cannot redeclare (関数名)の原因と対処法
Warning 意味:警告
warningはfatal errorやparse errorと比べると軽微なエラーとなります。
よくある原因ですが、ファイルが存在しない場合などに出力されます。
このエラーが出力されても処理は続きますが、どうせならエラーが出力されないようにしましょう。
Notice 意味:注意
Noticeは主に定義されていない変数を使用した際に表示されます。
以下にNoticeが出力されるコードを紹介します。
<?php
echo "こんにちは!";
echo "$sample";
echo "こんばんは!";
?>
3行目で定義されていない$sampleを表示しようとして、エラーが出力されます。ですが、大問題は発生しておらず、処理は最後まで完了します。
処理は最後まで完了されますが、エラーメッセージは出力されていますので、しっかりとコードの見直しは行いましょう。
良く出力されるエラー内容は下記にまとめています。
Notice: Undefined variableの原因と対処法
Notice: Undefined offset: (キー)の原因と対処法
Notice: Constant already definedの原因と対処法
Notice: A session had already been startedの原因と対処法
まとめ
今回はPHPを始めたばかりの方を対象にした、PHPのよく出るエラーについて、原因と対処法を解説致しました。
エラーが起きた時の対処法をしっかりと理解しておくことで、勉強や開発時のモチベーションを上手く保つことができると思います。
ぜひ参考にしてみてください。