更新記事、「Macで複数のバージョンのPHPを同時に使う」を参照してください。
以下は以前の記事です。
切り替えではなく使い分け
phpenvやphp-nabeのように異なるバージョンのPHPを切り替えて使うのではなく、同時にビルトインサーバーやphpunitで使うために、特定のバージョンのphpを実行時に指定できるようにします。
問題になるのが設定ファイル、設定ファイルディレクトリとPHPエクステンションですがこれを解決します。
PHP5.6とPHP7.0をインストール
curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6;
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0
php7のxdebugのインストールについてはOSXにphp7+xdebugをインストールを参照してください。
インストールディレクトリを確認
ls -al /usr/local | grep php
lrwxr-xr-x 1 root admin 37 12 9 09:35 php5 -> /usr/local/php5-7.0.0-20151202-133632
drwxr-xr-x 14 root wheel 476 12 9 09:32 php5-5.6.16-20151127-214015
drwxr-xr-x 14 root wheel 476 12 9 09:35 php5-7.0.0-20151202-133632
php5.6のextension_dir
をphp5.6ローカルのものに変更
extension_dir=/usr/local/php5-5.6.16-20151127-214015/lib/php/extensions/no-debug-non-zts-20131226
aliasを作成
PHP_INI_SCAN_DIR
とphp.ini
とphp
をフルパスで指定したaliasを登録します。
alias php5='env PHP_INI_SCAN_DIR=/usr/local/php5-5.6.16-20151127-214015/php.d /usr/local/php5-5.6.16-20151127-214015/bin/php -c /usr/local/php5-5.6.16-20151127-214015/lib/php.ini'
反映
. ~/.bash_profile
PHPのバージョン確認
php5 -v
PHP 5.6.16 (cli) (built: Nov 27 2015 21:37:15)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
php -v
PHP 7.0.0 (cli) (built: Dec 2 2015 13:35:31) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies
with Xdebug v2.4.0RC3-dev, Copyright (c) 2002-2015, by Derick Rethans```
バージョンの違うPHPで同時にビルトインサーバーを使用したり、PHPバージョンを指定してphpunitなどのPHPプログラムを実行することができるようになりました。
php vendor/phpunit/phpunit/phpunit
php5 vendor/phpunit/phpunit/phpunit
Composer
パフォーマンスのためにcomposer
でxdebugを使用しないようにするためにはXdebug impact on Composerを参照してください。