[Sy] Mac(El Capitan)にPHP5.6とかPHP7をインストールして使えるようにする手順
Mac(El Capitan)に最初にインストールされているPHPのバージョンが5.5だったので、 PHP5.6 をインストールした時の手順です。(たぶん7でもやることはほとんど変わらないはずです)また、Nginxで使いたいので php-fpm の起動設定もやります。
Homebrewで必要になるリポジトリをtap(追加)する
Homebrew を使ってインストールしていきますが、デフォルトのままだとPHP5.6はインストールできないので、必要なリポジトリをtapします。
必要なのはhomebrew/php
というリポジトリになるのですが、GitHubのREADME.md
を見ると依存しているリポジトリがあるので、それもまとめてtapします。
$ brew tap homebrew/dupes
$ brew tap homebrew/versoins
$ brew tap homebrew/homebrew-php
tap されたリポジトリは、以下で確認できます。
$ brew tap
・
・
homebrew/dupes
homebrew/php
homebrew/versions
・
・
PHP5.6をインストール
リポジトリを追加できたら、PHPをインストールします。
$ brew install php56
PHP7をインストールしたい場合は、php56
を php70
とか php71
にしてください。
必要なPATHの追加
インストールが終わったら、使っているシェルに応じて~/.bashrc
、~/.bash_profile
、~/.zshrc
などのどれかを編集します。ぼくは zsh を使っているので、~/.zshrc
に以下の設定を追記します。
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"
export PATH="/usr/local/sbin:$PATH"
追記したら、読み込みなおします。
$ source ~/.zshrc
これでPHP、php-fpmともにインストールした5.6のものが優先されるようになります。
$ php -version
PHP 5.6.23 (cli) (built: Jun 24 2016 21:14:33)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
$ php-fpm -version
PHP 5.6.23 (cli) (built: Jun 24 2016 21:14:33)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
php-fpmの起動設定
最後に、php-fpm が自動的に起動するようにhomebrew.mxcl.php56.plist
というファイルを~/Library/LaunchAgents/
ディレクトリ以下に移動しておきます。
$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
もし PHP5.5 で同様の設定をしていた場合は、一度 PHP5.5 用のplistをunloadすると良いみたいです。
$ cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
プロセスを確認し、php-fpmが起動していれば完了です。
$ ps ax | grep php-fpm
387 ?? S 0:04.43 /usr/local/opt/php56/sbin/php-fpm --fpm-config /usr/local/etc/php/5.6/php-fpm.conf
474 ?? S 0:00.00 /usr/local/opt/php56/sbin/php-fpm --fpm-config /usr/local/etc/php/5.6/php-fpm.conf
64613 s007 S+ 0:00.00 grep php-fpm