【ワードプレス】問い合わせフォームから届く、ひたすら迷惑なスパムメールを防ぐ為には?
開発をしていると突如として呪文のように現れるエラー文
Warning: Use of undefined constant shuhen – assumed ‘shuhen’ (this will throw an Error in a future version of PHP) in /home/www/pc/result.php on line 75
だったり
Parse error:syntax error, unexpected token “if” in D:\xamp\wordpress\wp-content\themes\functions.php on line 16
だったり・・・
拒否反応も出ている人もいるのではないでしょうか?
しかしエンジニアにとって切っても切り離せない存在なのがこの「エラー文」
今回はこのエラー文と上手に付き合うことで
「なんかよくわからないけどシステムが動いた」状態を無くし更に理解を深めることができるでしょう
実はとっても簡単!?エラー文で見るべき場所
大量の英語がでてきてとってもわかりくいエラー文
しかし、見るべき場所を特定すれば実はとっても親切なものに早変わりします
冒頭でも述べたエラー文。実際にはこのように大量に吐き出されることがよくあります(例はPHPの場合のエラー文)
Warning: Use of undefined constant shuhen – assumed ‘shuhen’ (this will throw an Error in a future version of PHP) in /home/www/pc/result.php on line 75
Warning: Use of undefined constant shuhen – assumed ‘shuhen’ (this will throw an Error in a future version of PHP) in /home/www/pc/result.php on line 78
Warning: Use of undefined constant shuhen – assumed ‘shuhen’ (this will throw an Error in a future version of PHP) in /home/www/pc/result.php on line 96
Warning: Use of undefined constant shuhen – assumed ‘shuhen’ (this will throw an Error in a future version of PHP) in /home/www/pc/result.php on line 105
Warning: Use of undefined constant shuhen – assumed ‘shuhen’ (this will throw an Error in a future version of PHP) in /home/www/pc/result.php on line 110
基本的に
Warning: Use of undefined constant shuhen – assumed ‘shuhen’ (this will throw an Error in a future version of PHP) in /home/www/pc/result.php on line 75
が一ブロックとなっていて個々のエラー発生箇所が書かれています
私が見るとしたら大体
Warning: Use of undefined constant shuhenとresult.php on line 75のあたり
大体この辺りにエラー内容の8割が詰まってるといっても過言ではありません
上記のエラー内容はWarning: Use of undefined←とにかく何かが見つからない
result.php on line 75←場所はresult.phpの75行目
undefinedは設定していない変数を呼び出したりの時に多いです。
基本的にこの辺りを読んで分からなければ最初の文章から単語ごとに分けてgoogle翻訳をかけていく・・・
それを繰り返していくとエラー文が吐き出された時に見るべき場所を見たらすぐにエラーの原因と場所の特定ができるようになります。
その他にも代表的なエラー文として
Undefined variable:変数が定義されていない時にでるエラー
syntax error:プログラムの文法がおかしいときに出るエラー。syntax errorがでた場合は右側を見ると文法がおかしい箇所のエラーが出ています。
よくある例として
<?php
$sample = "oK";
if($sample == "ok");
?>
<p>これはテストです</p>
<?php endif; ?>
のコードで
Parse error: syntax error, unexpected ‘endif’ (T_ENDIF), expecting end of file in /home/test/mnettheme/test.php on line 3が出たとします
syntax errorからとりあえず文法が間違っているということはわかります。
そしてon line 3から3行目が原因という事もわかります。
よく見ると末尾が’:’じゃないとだめなのに’;’となっていました
このような文法違いのエラーもよく見かけます
Fatal error: Call to undefined function (関数名):定義していない関数名を呼び出そうとしている時に出るエラー
など基本的には見るところさえ間違えなければ爆速で正確にエラー箇所と原因がわかります。
これが分かるようになればエンジニアライフは更に楽しいものとなるでしょう!