エラーを表示できるようにしよう

メンバーシップ(月額 980円)になって、このページの動画を見よう

プログラムの内容を打ち間違えてしまうと、プログラムは正しく動作しません。この時、PHPはプログラムでどのような異常があるかを「エラーメッセージ」という形で伝えてくれます。例えば、次のような間違えたプログラムを作成してみましょう。

<?php
  echo 'I'm studying';
?>

この場合、アポストロフィー(シングルクオーテーション)がechoのパラメーターに指定してしまっているため、正しく動作しません(エスケープシーケンスの処理が必要です)

しかし、MAMPの標準の設定では次のように、なにが原因なのかが分かりません。

これは、エラーメッセージが見えてしまうと、そこからセキュリティの脆弱性が見つけられる危険性などがあるため。とはいえ、エラーの原因が分からなければ、開発がスムーズに行えません。

そこで、MAMPなどの開発環境上ではエラーメッセージを表示させるとよいでしょう。これには、php.iniというファイルを編集します。

macOS版MAMPの場合

PHPの設定ファイルであるphp.iniは、MAMPで利用しているPHPのバージョンなどによって異なります。そこで、次の手順でphp.iniの場所を探しましょう。

まずは、MAMPを起動したら右上の「WebStart」ボタンをクリックします。

次のようなスタート画面が表示されます。

そしたら、「Tools→phpInfo」メニューをクリックします。

PHPの各種設定が表示され、この中の「Loaded Configuration File」という設定項目がphp.iniの場所を示しています。

この場所を、Finderで探してファイルをエディター(VSCode)で開きましょう。

ファイルの中には、さまざまな設定が書き込まれているので「編集→検索」メニューでファイル内検索をして「display_errors」というキーワードで検索をしてみましょう。472行目付近に次のような設定が見つかります。

なお、行頭に「;(セミコロン)」がある行はコメントで設定の内容ではありません。セミコロンがない行を探しましょう。現状、この設定が「Off」になっていて、この状態ではエラーメッセージが表示されません。そこで、これを「On」に書き換えます。

ファイルを保存したら、MAMPを再起動しましょう。右上の「Stop」ボタンを押して、「Start」ボタンを押します。

これで設定が有効になります。先ほどのプログラムを再度実行すると、次のようにエラーメッセージが表示されます。

これで開発がしやすくなります。

Windows版MAMPの場合

まずは、PHPの設定が記述された「php.ini」というファイルの場所を探しましょう。MAMPを起動したら、「Open WebStart page」ボタンをクリックします。

画面上部の「phpInfo」メニューをクリックしましょう。

すると、PHPの各種設定が一覧されるので、ここで「Loaded Configuration File」という行を探します。ここに、php.iniの場所が記載されています。

このファイルをエクスプローラーで開いて、エディター(VS Code)で編集しましょう。

そしたら、ファイルの中から「display_errors」という設定項目を探します。「編集→検索」機能などを使って、検索するとよいでしょう。

なお、行の先頭に「;(セミコロン)」がある行はコメントで設定には影響がありません。セミコロンのない行を探します。

この設定が現状ではoffになっているため、これを「on」に書き換えましょう。

そしたらファイルを保存して、MAMPを再起動します。「Stop Servers」をクリックして、「Start Servers」をクリックしましょう。

これでエラーメッセージが表示されるようになります。

エラーメッセージは英語の内容で、かつ間違えをそのまま教えてくれるわけではないため、少し慣れが必要です。Google検索やGoogle翻訳なども合わせて活用したら、少しずつ慣れていきましょう。

ともすたチャンネルに
チャンネル登録する