7
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

OSXで複数のバージョンのPHPを同時に使う

Last updated at Posted at 2015-12-09

更新記事、「Macで複数のバージョンのPHPを同時に使う」を参照してください。

以下は以前の記事です。


切り替えではなく使い分け

phpenvphp-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ローカルのものに変更

/usr/local/php5-5.6.16-20151127-214015/php.d/10-extension_dir.ini
extension_dir=/usr/local/php5-5.6.16-20151127-214015/lib/php/extensions/no-debug-non-zts-20131226

aliasを作成
PHP_INI_SCAN_DIRphp.iniphpをフルパスで指定したaliasを登録します。

~/.bash_profile
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を参照してください。

7
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?