前回の記事ではmacOSに標準でバンドルされているApacheを使用してlocalhostを動かしました。
PHPを使用しない環境でも特に問題ない場合はこれでも十分でしたが、そうでない場合は“brew install php”でPHPをインストールする必要があります。
ただ、ここで問題になってくるのが、そもそもmacOS Montereyではhttpd.confを編集してもPHPを使うことができません、というか標準でバンドルされているApacheではHomebrewでインストールしたPHPを動かせない、という事です。
そのため、HomebrewでApache(httpd)をインストールして、そっちを起動させてPHPを動かさなければならないようです。
やったこと
- Homebrewをインストール
- PHPをインストール
- Apache(httpd)をインストール
- Apache(httpd)をインストールする
- 標準のApacheを停止させる
- HomebrewでインストールしたApacheを起動させる
- httpd.confを編集
- PHPに関する記述を追加する
- Apacheを再起動する
- phpinfoで確認する
Homebrewをインストール
ターミナルを立ち上げ、以下のサイトのコードをコピーして貼り付けます。
macOS(またはLinux)用パッケージマネージャー ─ Homebrew
パスワードを求められるので入力するとインストールが始まります。
しばらくすると、「Next steps」と表示された部分が出てくるので、そこに書かれている2行をコピーして新たに実行します。
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/{UserName}/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
以下のコマンドでインストールできているか確認します。
$ brew -v
バージョン情報やらが出てきたらOKです。
PHPをインストール
再びターミナルで以下のコマンドを入力します。
とりあえず7.4にしてみましたが、違うバージョンが必要な場合は適宜変更してください。
$ brew install php@7.4
ここでエラーが出てしまった場合、エラー内容を確認してみて「Command Line Tools to be installed」とあったら、指示に従って「xcode-select –install」するかXcodeをApp Storeからダウンロードして、やり直してみてください。
次にPHPのパスを通します。
以下のコマンドを入力して設定します。
$ echo 'export PATH="/opt/homebrew/opt/php@7.4/bin:$PATH"' >> ~/.zshrc
$ echo 'export PATH="/opt/homebrew/opt/php@7.4/sbin:$PATH"' >> ~/.zshrc
ここまで進んだら、以下のコマンドでPHPをスタートさせます。
$ brew services start php@7.4
ここまできたらあと少し、一旦ターミナルを終了します。
再びターミナルを起動、以下のコマンドを入力してPHPのバージョンを確認してみます。
$ php -v
バージョンが確認できたら完了です。
Apache(httpd)をインストール
Apache(httpd)をインストールする
ターミナルで以下のコマンドを入力します。
$ brew install httpd
ここは特に問題なく進むと思います。
標準のApacheを停止させる
ターミナルで以下のコマンドを入力してApacheを停止させます。
$ sudo launchctl stop /System/Library/LaunchDaemons/org.apache.httpd.plist
$ sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
標準のApacheを自動起動させたい場合はこちら。
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
【参考】macOS に標準インストールされている Apache httpd の自動起動を解除する方法
HomebrewでインストールしたApacheを起動させる
ターミナルで以下のコマンドを入力します。
$ brew services start httpd
これでHomebrewのApacheが起動すると思いますので、localhostにアクセスして確認します。
「It works!」が出ればOK。
httpd.confを編集
HomebrewでApacheをインストールすると、以下のパスにhttpd.confがありますので、これを編集していきます。
/opt/homebrew/etc/httpd/httpd.conf
ここは基本的にこれまでとあまり変わらないので、手前味噌ですみませんが以下の過去記事を参照してください。
→ OS X Yosemiteでlocalhostを使えるようにするための各種設定
→ El Capitanでもlocalhostを使う
→ macOS Mojaveでもlocalhostを使う
PHPに関する記述を追加する
これまでと異なる点は、PHPに関する記述を追加する事です。
LoadModuleがずらっと並んでいる行の最後(180行目くらい)に以下を追加します。
LoadModule php7_module /opt/homebrew/Cellar/php@7.4/7.4.25/lib/httpd/modules/libphp7.so
<IfModule php7_module>
AddType application/x-httpd-php .php
</IfModule>
私の環境ではPHP7.4をインストールしているため、1行目のパスが上記のようになっています。
この「/php@7.4/7.4.25」はインストールしたPHPのバージョンによって変わってきますので、適宜変更してください。
Apacheを再起動する
ターミナルで以下のコマンドを入力してApacheを再起動させます。
$ sudo apachectl restart
phpinfoで確認する
エディタで以下のコードをコピペしてWebServer/Documents にphpinfo.phpと名前をつけて保存します。
(名前は適当でも構いません)
<? php phpinfo(); ?>
localhostにアクセスして確認します。
PHPのバージョン情報等が表示されれば、無事完了となります。