Syntax Error.

[Sy] Mac(El Capitan)にPHP5.6とかPHP7をインストールして使えるようにする手順

2016/07/08

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をインストールしたい場合は、php56php70 とか 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

関連記事