なんだかよくわからいけど、動かない

当ブログでは、未経験の方が Web プログラミングを学ぶならばまずは「 MAMP を触ってみる」をおすすめしています。

そのメリットや、インストール方法は次をご覧ください。

[MAMP] Web 開発ビギナーはサクッと MAMP で環境構築しよ
プログラミングを勉強する前には「プログラムが動作する環境」を構築しますが、ハマると大変な思いをするため、Web、PHP開発ならMAMPでサクッと環境構築を済ませることをおすすめします。
Atuweb 開発 Log
[MAMP] Free 版 MAMP をインストールする
MacにMAMPのフリー版をインストールし、WebサーバやDBサーバを利用する方法を解説いたします。
Atuweb 開発 Log


MAMP は、導入がとてもかんたんなのですが、一つ設定を変更したいところがあります。

それは 画面にエラーを表示する ことです。

たとえば次の PHP を作成してブラウザで表示してみます。

1<?php
2
3echo $hello_world;

こちらがブラウザのスクリーンショットです。

MAMP 実行結果 エラー非表示
MAMP 実行結果 エラー非表示

何も表示されず、真っ白ですね。

これだと「なんだかわかないけど動かない」状態に感じてしまいませんか ?


MAMP 設定を変更して、画面上にエラーを出力するようにします。

すると、必ずエラーが目に付きますから、スッと修正する事ができますよね。

MAMP で PHP のエラー表示を ON にする

手順は 3 ステップです。

  • PHP バージョンを確認する
  • php.ini を編集する
  • MAMP を再起動する

PHP バージョンを確認する

初めに、 PHP のバージョンを確認します。

MAMP は、バージョンごとに PHP 設定ファイルの場所が異なるためです。


MAMP を起動し、 ツールバーのメニューから Preferences (設定) を選択します。

MAMP > Preferences
MAMP > Preferences

Preferences が開いたら、 PHP タブを選択します。

MAMP >  Preferences > PHP タブ
MAMP > Preferences > PHP タブ

Standard Version 欄で、チェックが入っているものが、使用中のバージョンです。

この バージョン番号 をメモしてください。
画像では 7.4.2 ですね。

php.ini を編集する

次に設定ファイルを探し、編集します。

設定ファイルは次の場所に保存されています。

1/Applications/MAMP/bin/php/php[バージョン番号]/conf/php.ini

先程チェックしたバージョン番号は 7.4.2 でしたね。
この場合次の場所となります。

1/Applications/MAMP/bin/php/php7.4.2/conf/php.ini
MAMP php.ini の保存場所
MAMP php.ini の保存場所

うぉーっ、結構深いですね。


このファイルをエディタで開き

MAMP php.ini 修正前
MAMP php.ini 修正前

こちらを、次のように修正し保存してください。

MAMP php.ini 修正後
MAMP php.ini 修正後

該当箇所を抜き出します。

1display_errors = Off

から

1display_errors = On

です。

変更は難しくないと思いますが、探すのが大変かもしれませんね。

エディタの検索機能などをうまく利用してください。

MAMP を再起動する

PHP 設定は、Web サーバを再起動するまでは変更が反映されません。

そのため、 MAMP のウィンドウからサーバを停止し、改めて起動します。


MAMP のサーバ起動、停止については次をご覧ください。

[MAMP] サーバを起動・停止・再起動する
MAMPを利用したWebサーバ、DBサーバの起動・停止・再起動の方法を解説いたします。
Atuweb 開発 Log

エラーを表示してみる

3 つの手順をこなし、PHP エラーを出力するようにしました。

先ほどと同じ PHP プログラムを実行すると次の表示となりました。

MAMP 実行結果 エラー表示
MAMP 実行結果 エラー表示

初見は意味がわからずに、「怖い」と感じるかもしれませんが、エラーは解決のためのヒントです。

エラーの種類や読み方もあるていど決まっています。

開発効率がよくなりますから、 早い段階で エラーの読み方をマスター しておくと良さそうです。

エラーログについて

MAMP は標準で、次の場所に PHP エラーをログ出力します。

/Applications/MAMP/logs/php_error.log

です。

このファイルを見ればエラーは把握できる、のですが、ログファイルは「わざわざ見に行かなくてなはらない」意識が働きやすいですね。

見るのに手間がかかるものは、いつか見なくなるものです。

開発用の開発ならばブラウザにエラーを出して、 エラーをゼロにする という意気込みで取り組むのがベターですよ。