phpenv+php-buildを使ってMacにPHP開発環境を整える

環境

macOS です。

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.12.2
BuildVersion:   16C68

デフォルトの PHP は 7.0.14 が入っていました。

$ which php
/usr/local/bin/php
$ php -v
PHP 7.0.14 (cli) (built: Jan 24 2017 17:14:13) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

phpenvをインストール

$ git clone https://github.com/CHH/phpenv.git
$ cd phpenv
$ ./bin/phpenv-install.sh
$ cat ~/.zprofile 
# phpenv
export PATH="$HOME/.phpenv/bin:$PATH"
if which phpenv > /dev/null; then
    eval "$(phpenv init -)";
fi

exec $SHELL -l して反映。

PHP 5.4.16をインストール

$ phpenv install -l       
Available versions:
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115

rbenv がでてきてしまいました。。。

phpenvとphp-buildで新しいバージョンのPHP(5.5, 5.6)をインストール | EasyRamble

を参考にして、php-build で直接いれます。そのまえに php-build のインストール

$ brew install --HEAD php-build

さらにビルドに必要なライブラリをインストールします。

$ brew install libmcrypt openssl libxml2 re2c

さて、いよいよビルドです。

さきほど brew 経由で入れた openssl と libxml2 を使うように設定し、ビルドします。

$ export PHP_BUILD_CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)  --with-apxs2=/usr/local/sbin/apxs"
$ php-build 5.4.16 ~/.phpenv/versions/5.4.16

PHP 5.4.16を使ってみる

$ phpenv versions
* system (set by /Users/name/.phpenv/version)
  5.4.16
$ phpenv local 5.4.16
$ php -v
PHP 5.4.16 (cli) (built: Feb  3 2017 15:22:08) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
    with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans

良さそうです。*1

参考サイト

TODO

  • phpenv install x.x.xphpenv install -lrbenv になっているのを調べる

*1:phpenv rehash で version が切り替わらなかったような。。。