- 更新日: 2015年10月15日
- PHP & CakePHP
phpenvとphp-buildで新しいバージョンのPHP(5.5, 5.6)をインストール
少し前ですけど Mac Yosemite の phpenv/php-build 環境で、新しいバージョンの PHP(5.5.19, 5.6.9)をインストールしました。phpenv と php-build のインストールのために追加していた、Homebrew 用の josegonzalez/php リポジトリが変更されていたりして(homebrew/php に移った?)、色々手こずりました。
— 環境 —
Mac OS X Yosemite
Homebrew 0.9.5 (git revision a1e99)
phpenv v0.3.0-44-g7fe9231
php-build v0.11.0dev
phpenv, php-build の環境構築
Mac Homebrew 用の josegonzalez/php リポジトリが変更されており、色々うまく行かなかったので phpenv と php-build を最初から入れなおすことにした。
phpenv, php-build を一旦アンインストール。
1 2 3 4 |
$ brew uninstall phpenv $ brew uninstall php-build |
josegonzalez/php のリポジトリを brew untap で削除。
1 2 3 |
$ brew untap josegonzalez/php |
現行の phpenv, php-build は homebrew/php あるようなので、homebrew/php リポジトリを Homebrew 環境に追加。
1 2 3 4 5 6 7 |
$ brew tap homebrew/php $ brew tap homebrew/dupes homebrew/php homebrew/versions |
続いて、phpenv, php-build のインストールをやり直します。
1 2 3 4 |
$ brew install phpenv $ brew install --HEAD php-build |
単純に “brew install php-build” だと最新のタグを pull するらしく、それだと php-build でインストールできるバージョンが PHP 5.5.0beta までしか含まれていません。なので最新バージョン(5.5.*, 5.6.* 〜)の PHP をインストールするには 、master ブランチ HEAD(最新)の php-build をインストールするように –HEAD オプションを付けてインストールする必要があります。
必要に応じて /usr/local/share/php-build/definitions 内のインストールする予定の PHP バージョンのファイルに、configure_option を書く。
WordPress 動作に必要な PHP インストール時の configure オプション | EasyRamble
この記事の最後のほうに configure_option の例を記載してます。
PHP をインストール
phpenv, php-build の環境構築が終わったら、PHP をインストールします。
1 2 3 |
$ php-build 5.5.19 ~/.phpenv/versions/5.5.19 |
php-build コマンドは、第一引数にインストールする PHP のバージョンを指定、第二引数にインストールするパスを指定。
最初 phpenv install コマンドを使って PHP をインストールしようとしたのですが、なぜかエラー。
1 2 3 |
$ phpenv install 5.5.19 |
とやると何故か ruby のバージョン一覧のほうを読みに行くエラーが発生したので、php-build コマンドを使ってインストールしました。
php-build コマンドで PHP をビルドすると、libphp5.so が ~/.phpenv/versions/5.5.19/libexec/apache2/libphp5.so に生成されるので、Apache 使用の場合は必要に応じて httpd.conf の LoadModule に設定する。
5.6 系, 5.4 系もインストール。
1 2 3 4 |
$ php-build 5.6.9 ~/.phpenv/versions/5.6.9 $ php-build 5.4.35 ~/.phpenv/versions/5.4.35 |
なお、PHP のバージョンによってはビルドでこける場合もありました。例に挙げている 5.4.35, 5.5.19, 5.6.9 は上手くビルドできました。
確認。
1 2 3 4 5 6 7 8 |
$ phpenv global 5.5.19 $ phpenv versions system 5.4.35 * 5.5.19 (set by /Users/username/.phpenv/version) 5.6.9 |
configure_option の設定例
最後に捕捉ですが、configure_option の設定例です。
/usr/local/share/php-build/definitions/5.4.35
/usr/local/share/php-build/definitions/5.5.19
/usr/local/share/php-build/definitions/5.6.9
1 2 3 |
configure_option "--disable-dba --disable-fpm --enable-bcmath --enable-calendar --enable-cgi --enable-ctype --enable-dom --enable-exif --enable-fileinfo --enable-ftp --enable-gd-native-ttf --enable-hash --enable-intl --enable-json --enable-magic-quotes --enable-mbregex --enable-mbstring --enable-pcntl --enable-phar --enable-shmop --enable-simplexml --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-tokenizer --enable-ucd-snmp-hack --enable-wddx --enable-zip --with-apxs2=/usr/sbin/apxs --with-bz2 --with-curl --with-enchant --with-gd --with-gettext --with-gmp --with-iconv --with-imagick --with-jpeg-dir --with-kerberos --with-layout=GNU --with-libxml-dir=/usr/local/Cellar/libxml2/2.8.0/bin/xml2-config --with-mcrypt --with-mhash=yes --with-mysql --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-onig --with-openssl --with-pcre-regex --with-pdo-mysql=mysqlnd --with-pear --with-pic --with-png-dir --with-snmp --with-xmlrpc --with-xpm-dir --with-zlib --with-zlib-dir --without-mm" |
見やすくした一覧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
--disable-dba --disable-fpm --enable-bcmath --enable-calendar --enable-cgi --enable-ctype --enable-dom --enable-exif --enable-fileinfo --enable-ftp --enable-gd-native-ttf --enable-hash --enable-intl --enable-json --enable-magic-quotes --enable-mbregex --enable-mbstring --enable-pcntl --enable-phar --enable-shmop --enable-simplexml --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-tokenizer --enable-ucd-snmp-hack --enable-wddx --enable-zip --with-apxs2=/usr/sbin/apxs --with-bz2 --with-curl --with-enchant --with-gd --with-gettext --with-gmp --with-iconv --with-imagick --with-jpeg-dir --with-kerberos --with-layout=GNU --with-libxml-dir=/usr/local/Cellar/libxml2/2.8.0/bin/xml2-config --with-mcrypt --with-mhash=yes --with-mysql --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-onig --with-openssl --with-pcre-regex --with-pdo-mysql=mysqlnd --with-pear --with-pic --with-png-dir --with-snmp --with-xmlrpc --with-xpm-dir --with-zlib --with-zlib-dir --without-mm |
以上です。
- – 参考リンク –
- 【OS X Yosemite】phpenv+phpbuild+apache2でPHPのバージョン切り替え – PCがあれば何でもできる!
- phpenv + php-buildでphpのバージョン管理 – わすれっぽいきみえ
- phpenvが動かないのなら作りなおせばいいじゃない – Qiita
- macにhomebrewでPHP5.6環境をインストールしてみる – たけまるの日記
- phpenv と php-build で PHP をインストールして管理 〜 CentOS6 | EasyRamble
- PHP & CakePHP の関連記事
- PHP+MySQLでNo such file or directoryエラー
- bin/cakeコマンドでintlエラーが出る場合の対処(CakePHP)
- CakePHPアプリケーションをCapistranoでデプロイ
- Integrity constraint violation:Column ‘created’ in order clause is ambiguousエラー/CakePHP
- CakePHPでDB関連テーブルのレコード・データを取得
- CakePHPでカラム属性に別名/エイリアスを付ける仮想フィールド
- CakePHPで日付選択フォームのカスタマイズ
- CakePHP3で現在のコントローラー名・アクション名を取得
- PHPインストールでconfigure: error: freetype.h not foundエラー
- CakePHPでログイン後に元のページにリダイレクトさせる
Leave Your Message!