macOS Monterey より前のバージョンにバンドルされている、PHP の使用法

PHP は、Mac OS X バージョン 10.0.0 以降、 macOS Monterey (12.0.0) より前の MacOS に標準添付されています。 デフォルトのウェブサーバーで PHP を有効にするには、Apache 設定ファイル httpd.conf で数行のコメントを解除する必要があります。 一方、CGICLI はデフォルトで有効になっています (ターミナルから簡単に利用できます)。

PHP を有効にするには以下の手順を使用してください。 これは、ローカルの開発環境を手早く設定する方法を示したものです。 常に PHP を最新バージョンに更新することを 強く推奨します。 多くのソフトウェアでは、新しいバージョンでは多くのバグが修正されています。 また機能追加もされています。PHP も同様です。 詳細は、適切な macOS インストールドキュメントを参照ください。 以下の手順は初心者を対象としたもので、 まずデフォルトの設定で動作させるための手順を示しています。 すべてのユーザーが、新しいパッケージ版をコンパイルしてインストールすることを推奨します。

標準的なインストール方法は mod_php を使用するものです。macOS 上の Apache web server (デフォルトのウェブサーバーで、System Preferences からアクセスできます) 上に、mod_php を組み込むには次のようにします。

  1. Apache の設定ファイルを開きます。デフォルトでは /private/etc/apache2/httpd.conf にあります。 Finder あるいは Spotlight を使用してこれを見つけることは難しいでしょう。 このファイルはプライベート設定されており、その所有者は root ユーザーだからです。

    注意: Unix ベースのテキストエディタ、たとえば nano を用いて、ターミナルでこのファイルを開きます。このファイルの所有者は root なので、sudo コマンドを使用して (root として) 開く必要があります。つまり、ターミナル上で sudo nano /private/etc/apache2/httpd.conf と入力します (その後、パスワードを聞かれます)。 覚えておくべき nano コマンドは次のとおりです。^w (検索)、 ^o (保存) そして ^x (終了)。 ここで ^ は Ctrl キーを表します。

    注意: Mac OS X 10.5 より前のバージョンにバンドルされている PHP および Apache は、バージョンが古いものです。その場合、Apache の設定ファイルは /etc/httpd/httpd.conf となります。

  2. テキストエディタで、次のような行 (これらのふたつの行は並んでいないこともあります。 それぞれをファイル中で探してください) のコメントをはずします (# を削除します)。

    # LoadModule php5_module libexec/httpd/libphp5.so
    
    # AddModule mod_php5.c
    
    パスに注意しましょう。将来 PHP をビルドする際には 上のファイルは移動するかコメントアウトする必要があります。

  3. 指定した拡張子 (例: .php .html および .inc) が PHP でパースされるようにします。

    以下のような行が httpd.conf にあれば (Mac Panther 以降にはあります)、 PHP を有効にするだけで .php ファイルが自動的に PHP で処理されます。

    <IfModule mod_php5.c>
        # If php is turned on, we respect .php and .phps files.
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
    
        # Since most users will want index.php to work we
        # also automatically enable index.php
        <IfModule mod_dir.c>
            DirectoryIndex index.html index.php
        </IfModule>
    </IfModule>
    

    注意:

    Mac OS X 10.5 (Leopard) より前のバージョンには PHP 5 ではなく PHP 4 がバンドルされています。その場合は、ここまでの説明にある 5 という部分を 4 に読み替えてください。

  4. DirectoryIndex でデフォルトインデックスファイルが読み込まれるようにします。 これも httpd.conf で設定します。典型的なパターンは index.php および index.html でしょう。デフォルトでは index.php が有効になります。上で見たような設定がすでにあるからです。 これを適切に調整しましょう。
  5. php.ini の場所を設定するか、デフォルトを使用します。 macOS におけるデフォルトの場所は /usr/local/php/php.ini で、 phpinfo() をコールするとこの情報を表示します。 php.ini を使用しない場合は、PHP はすべてデフォルト値を使用します。 php.ini ファイルはどこにおけばいいのですか? が、関連する FAQ です。
  6. DocumentRoot を配置あるいは設定します。 これは、すべてのウェブファイルのルートディレクトリとなります。 このディレクトリ内のファイルはウェブサーバーで処理されるようになるので、 PHP ファイルは PHP でパースしてからブラウザに出力されます。 典型的なデフォルトのパスは /Library/WebServer/Documents ですが、これは httpd.conf で別の場所にすることができます。 また、各ユーザーの DocumentRoot/Users/yourusername/Sites となります。
  7. phpinfo() ファイルを作成します。

    phpinfo() 関数は、PHP についての情報を表示します。 DocumentRoot 内に、次のような PHP コードを含むファイルを作成してください。

    <?php phpinfo(); ?>

  8. Apache を再起動し、先ほど作成した PHP ファイルを読み込みます。

    再起動するには、シェルで sudo apachectl graceful を実行するか、あるいは macOS System Preferences で "Personal Web Server" オプションを使用して停止/起動します。 デフォルトでは、ローカルファイルをブラウザで読み込むには http://localhost/info.php のような URL を指定します。 あるいは、各ユーザーディレクトリの DocumentRoot の場合は http://localhost/~yourusername/info.php のようになります。

CLI (あるいは旧バージョンの CGI) は、php という名前で、おそらく /usr/bin/php にあります。 ターミナルを開き、PHP マニュアルの Open up the terminal, read the PHP をコマンドラインから使用する を読んだうえで php -v を実行してみましょう。 これは、PHP バイナリのバージョンを表示します。 phpinfo() をコールしても、この情報を取得できます。

関連キーワード:  バージョン, バンドル, Monterey, 設定, conf, 使用, DocumentRoot, ユーザー, 注意, IfModule