本稿では PHP 5.6 を macOS に Homebrew を用いてインストールする手順について解説します。
追記:
以前は「homebrew/php」リポジトリを利用してインストールする方法を掲載していましたが、「homebrew/php」の利用は非推奨になり、Homebrew 標準の「homebrew/core」に PHP 5.6 が含まれるようになったので、それに合わせて本稿を再編しました。 / また、macOS Sierra (10.12) では、macOS標準でインストールされている PHP が v5.6 になった点も知っておくと良いでしょう。
インストール
まずは brew search コマンドを利用して PHP 5.6 が提供されていることを確認するために、検索をしてみましょう。 キーワードに php@5.6 を指定して、次のように検索します。
$ brew search php@5.6
==> Formulae
php@5.6
この例のように Formulae に php@5.6 と表示されればOKです、PHP 5.6 が提供されていることが確認できました。 それではインストールをしましょう、次のように brew install コマンドで php@5.6 を指定するとインストールが開始します。
$ brew install php@5.6
(中略)
==> Installing php@5.6
==> Downloading https://homebrew.bintray.com/bottles/php@5.6-5.6.37.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring php@5.6--5.6.37.high_sierra.bottle.tar.gz
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set php_ini /usr/local/etc/php/5.6/php.ini system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set php_dir /usr/local/share/pear@5.6 system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set doc_dir /usr/local/share/pear@5.6/doc system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set ext_dir /usr/local/lib/php/pecl/20131226 system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set bin_dir /usr/local/opt/php@5.6/bin system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set data_dir /usr/local/share/pear@5.6/data system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set cfg_dir /usr/local/share/pear@5.6/cfg system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set www_dir /usr/local/share/pear@5.6/htdocs system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set man_dir /usr/local/share/man system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set test_dir /usr/local/share/pear@5.6/test system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear config-set php_bin /usr/local/opt/php@5.6/bin/php system
==> /usr/local/Cellar/php@5.6/5.6.37/bin/pear update-channels
(中略)
==> Summary
🍺 /usr/local/Cellar/php@5.6/5.6.37: 498 files, 63.9MB
==> php@5.6
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php5_module /usr/local/opt/php@5.6/lib/httpd/modules/libphp5.so
SetHandler application/x-httpd-php
Finally, check DirectoryIndex includes index.php
DirectoryIndex index.php index.html
The php.ini and php-fpm.ini file can be found in:
/usr/local/etc/php/5.6/
php@5.6 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have php@5.6 first in your PATH run:
echo 'export PATH="/usr/local/opt/php@5.6/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@5.6/sbin:$PATH"' >> ~/.bash_profile
For compilers to find php@5.6 you may need to set:
export LDFLAGS="-L/usr/local/opt/php@5.6/lib"
export CPPFLAGS="-I/usr/local/opt/php@5.6/include"
To have launchd start php@5.6 now and restart at login:
brew services start php@5.6
Or, if you don't want/need a background service you can just run:
php-fpm
上記のように表示されて PHP 5.6 のインストールが完了します。
パスを通す
インストールが完了する際に以下のような記述が表示されています。
php@5.6 is keg-only, which means it was not symlinked into /usr/local
このメッセージが意味するところは「インストールはしたけどパスは通していない」ということです。 さらに表示されたメッセージに以下のような記述があります。
If you need to have php@5.6 first in your PATH run:
echo 'export PATH="/usr/local/opt/php@5.6/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@5.6/sbin:$PATH"' >> ~/.bash_profile
~/.bash_profile に export コマンドでパスを通すような記述を追加すれば、パスを通すことができると言っていますので、言われた通りにコマンドを実行します。
$ echo 'export PATH="/usr/local/opt/php@5.6/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/usr/local/opt/php@5.6/sbin:$PATH"' >> ~/.bash_profile
念のため ~/.bash_profile ファイルを開いて、末尾に次のように2行追加されたことを確認しましょう。
export PATH="/usr/local/opt/php@5.6/bin:$PATH"
export PATH="/usr/local/opt/php@5.6/sbin:$PATH"
最後に、macOS にログインし直すか、もしくは次のようなコマンドで ~/.bash_profile を実行し直します。 (~/.bash_profile は、ユーザが macOS にログインした時に実行されるファイルですので、再ログインするか、手動で実行してあげるというわけです)
$ source ~/.bash_profile
動作確認
インストールが正しく完了したかを確認するため、php -v コマンドでインストールされた PHP のバージョンを表示してみます。 PHP 5.6 がインストールされたのがわかるでしょう。
$ php -v
PHP 5.6.37 (cli) (built: Jul 20 2018 08:26:50)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
インストールされたファイル
最後に PHP 5.6 の主なファイルがどこにインストールされたかを確認しておきましょう。
ファイル | 概要 |
---|---|
/usr/local/opt/php@5.6/ | PHPのバイナリが保存されている。 |
/usr/local/etc/php5.6/ | PHPの設定ファイルが保存されている。 php.ini もここにある。 |
おわりに
本稿では PHP 5.6 を macOS に Homebrew を用いてインストールする方法について解説しました。 皆様のお仕事のお役に立てれば幸いです。
更新履歴
- 2016年08月11日 : 本稿を執筆しました。
- 2018年08月30日 : homebrew/php が非推奨になったことにより、記事を再編しました。