Help us understand the problem. What is going on with this article?

MacOSX + phpenv + php-build + pyrus の環境構築メモ

More than 5 years have passed since last update.

phpenv のインストール

$ sudo brew install phpenv
Password:
Warning: You have Xcode 4.1, which is outdated.
Please install Xcode 4.3.
Error: phpenv is a head-only formula
Install with `brew install --HEAD phpenv

--HEADつけなかったら怒られたので--HEADをつけてインストール

$ sudo brew install --HEAD phpenv

これでインストールが完了したので、$HOME/.phpenv ができた。
ただ、権限がrootになってしまっているので、自分に直す。

$ sudo chown -R $USER $HOME/.phpenv

あとは.bashrcに環境変数と初期化の設定をする。

# phpenv
if [ -f ${HOME}/.phpenv/bin/phpenv ]; then
    export PATH=${PATH}:${HOME}/.phpenv/bin
    eval "$(phpenv init -)"
fi

php-build のインストール

$ sudo brew install php-build

これでインストール完了。

php-build で php をインストール

インストール可能なphpのバージョンを確認する。

$ php-build --definitions
5.2.17
5.3.10
5.3.2
5.3.6
5.3.8
5.3.9
5.3.9RC3
5.3.9RC4
5.3snapshot
5.4.0
5.4.0RC1
5.4.0RC2
5.4.0RC3
5.4.0RC4
5.4.0RC5
5.4.0RC6
5.4.0RC7
5.4.0RC8
5.4.0alpha3
5.4.0beta1
5.4.0beta2
5.4snapshot

5.3.9 をインストールしてみる。

$ php-build 5.3.9 ~/.phpenv/versions/5.3.9
Loaded pyrus Plugin.
Loaded xdebug Plugin.
php.ini-production gets used as php.ini

Building 5.3.9 into /Users/yhino/.phpenv/versions/5.3.9

    [Downloading]:  http://www.php.net/distributions/php-5.3.9.tar.bz2
    [Preparing]:  /var/tmp/php-build/source/5.3.9

BUILD ERROR
configure: warning: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers. configure: error: jpeglib.h not found.

The full Log is available here /tmp/php-build.5.3.9.20120424131015.log

必要なライブラリがなくて怒られた。
なので、必要なライブラリを入れる。

$ sudo brew install re2c
$ sudo brew install jpeg
$ sudo brew install mcrypt

ライブラリがそろったので再度インストール。

$ php-build 5.3.9 ~/.phpenv/versions/5.3.9
Loaded pyrus Plugin.
Loaded xdebug Plugin.
php.ini-production gets used as php.ini

Building 5.3.9 into /Users/yhino/.phpenv/versions/5.3.9

    [Skipping]:  Already downloaded and extracted http://www.php.net/distributions/php-5.3.9.tar.bz2
    [Preparing]:  /var/tmp/php-build/source/5.3.9
    [Compiling]:  /var/tmp/php-build/source/5.3.9
    [Pyrus]:  Downloading from http://pear2.php.net/pyrus.phar
    [Pyrus]:  Installing executable in /Users/yhino/.phpenv/versions/5.3.9/bin/pyrus
    [XDebug]:  Downloading http://xdebug.org/files/xdebug-2.1.3.tgz
    [XDebug]:  Compiling in /var/tmp/php-build/source/xdebug-2.1.3
    [XDebug]:  Installing XDebug configuration in /Users/yhino/.phpenv/versions/5.3.9/etc/conf.d/xdebug.ini
    [XDebug]:  Cleaning up.
    [Info]:  The Log File is not empty, but the Build did not fail. Maybe just warnings got logged. You can review the log in /tmp/php-build.5.3.9.20120424170154.log
    [Success]:  Built 5.3.9 successfully.

インストール完了。

phpenv で php を切り替えてみる

システムで入れてある php のバージョンを確認。

$ php -v 
PHP 5.3.8 with Suhosin-Patch (cli) (built: Nov 15 2011 15:33:15) 
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

切り替え可能な php のバージョンを確認。

$ phpenv versions 
  5.3.9

切り替えてみる。

$ phpenv global 5.3.9
$ phpenv version
5.3.9 (set by /Users/yhino/.phpenv/version)
$ phpenv rehash

ターミナルを開き直してバージョン確認。

$ php -v
PHP 5.3.9 (cli) (built: Apr 24 2012 17:09:13) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.1.3, Copyright (c) 2002-2012, by Derick Rethans

出来た。

pyrus で phpunit をインストール

pyrus でインストールする。

$ pyrus install pear.phpunit.de/PHPUnit
Pyrus version 2.0.0a4 SHA-1: 72271D92C3AA1FA96DF9606CD538868544609A52
Using PEAR installation found at /Users/yhino/.phpenv/versions/5.3.9/share/pyrus/.pear
Sorry, the channel "pear.phpunit.de" is unknown.
Do you want to add this channel and continue?
Please choose:
  yes
  no
[yes] : yes
Discovery of channel pear.phpunit.de successful
Sorry, pear.phpunit.de/PHPUnit references an unknown channel pear.symfony-project.com for pear.symfony-project.com/YAML
Do you want to add this channel and continue?
Please choose:
  yes
  no
[yes] : 
Discovery of channel pear.symfony-project.com successful
Downloading pear.phpunit.de/PHPUnit
___省略___
Installed pear.phpunit.de/PHPUnit-3.6.10
Installed pear.phpunit.de/File_Iterator-1.3.1
Installed pear.phpunit.de/Text_Template-1.1.1
Installed pear.phpunit.de/PHP_CodeCoverage-1.1.2
Installed pear.phpunit.de/PHP_Timer-1.0.2
Installed pear.phpunit.de/PHPUnit_MockObject-1.1.1
Installed pear.symfony-project.com/YAML-1.0.6
Installed pear.phpunit.de/PHP_TokenStream-1.1.3
Optional dependencies that will not be installed, use --optionaldeps:
pear.phpunit.de/PHP_Invoker depended on by pear.phpunit.de/PHPUnit

インストールした phpunit を使えるようにする。

$ phpenv rehash

これで使えるようになりました。

参考にしたページ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした