Mac の Web 共有で php を動かす

Mac に標準でついている Web 共有機能を使うと、プリセットの Apache を起動して簡易的な Web サーバのように動作してくれます。この機能の使い方と php ファイルの動かし方、設定方法について説明します。

Web 共有の使い方

この機能を知らなかったという方のために使い方を説明します。まず、自分のホームディレクトリ以下に「サイト」というディレクトリがあるはずなので、そこに好きな html ファイルを保存します。コンソールで指定する時は

~/Sites

以下になります。


ファイルを設置したら「システム環境設定」から「共有」に進み、「Web 共有」のチェックボックスにチェックを入れます。環境によって表示されるアドレスは変わると思いますが、さきほどの「サイト」ディレクトリの中身を表示可能になりました。

php ファイルを動かす

この状態で php ファイルを設置して動くバージョンもあるのかもしれませんが、私の環境では動かなかったので設定を行います。Apache の設定を変更するために httpd.conf を編集します。

sudo vi /etc/apache2/httpd.conf

パスワードの入力を求められますが、普段使っている管理者アカウントのパスワードを入力します。ファイルが開けたら php5 でファイル内を検索すると「#」でコメントアウトされた php のモジュール呼び出しが見つかるはずです。

#LoadModule php5_module        libexec/apache2/libphp5.so

この先頭の「#」を外します。

LoadModule php5_module        libexec/apache2/libphp5.so

ここまで終わったら一旦 Apache を再起動します。「Web 共有」のチェックを一旦外し、改めて入れ直します。これで php ファイルが動くはずなので、「サイト」ディレクトリに次のようなファイルを info.php という名前で設置してみます。

<?php phpinfo(); ?> 

後はこの php.info にブラウザからアクセスして、動作環境が確認できれば設定完了です。


なお、環境の変更などで httpd.conf が見つからなかった場合は適宜探してください。

sudo find / -name 'httpd.conf'

php.ini を設定する

さて、動作させるまでならこれで終了なのですが php 自体も各種モジュールの使用可否等を設定可能な言語です。次はその設定を行う php.ini を編集します。
先ほど設置した info.php に「Configuration File (php.ini) Path」という項目が存在するはずですが、そこに書かれたパスが php.ini の読み込み元になります。私の環境では、デフォルトで php.ini が作られていないためディレクトリ名だけが表示されていましたが、同じディレクトリに php.ini.default というひな形用のファイルが存在したので、これをコピーして使う事にしました。

sudo cp /path/to/ini/php.ini.default /path/to/ini/php.ini

正しく php.ini が読み込まれると、先ほどの phpinfo の表示も変わるはずなので確認します。問題なさそうなら、後は各種サイトや書籍等を参考に、必要なモジュールをロードするなどしてください。


なお、今回はローカルネットワーク内で動作確認用に php を使う前提なのでこれで済ませますが、実際に公開するサーバではきちんと設定を行わなくてはいけないので注意してください。