dreamin' blog

php-nabeのバージョン管理に僕はphp-nabeを愛用しています。
phpenvやphpbrewなど数ある中でこれを使っています。
phpを使わないでphpを管理したいという思想に惚れた訳です。

で、たまに php-nabe ext-install extname でphpの拡張がインストールできるのですが、
下記のようなエラーがよくでます。

$ php-nabe ext-install openssl
Cannot find config.m4.
Make sure that you run '/Users/kohei-sugi/.php-nabe/php-nabe/build/php-5.3.3/bin/phpize' in the top level source directory of the module

/Users/kohei-sugi/.php-nabe/php-nabe/bin/php-nabe: line 416: ./configure: No such file or directory

そんなときは、srcのファイルの中を覗きに行って、

mv config0.m4 config.m4

をしてあげて、もう一度実行するとOKです。

自分でコンパイルしたい欲求を程よく満たしてくれるので良いですよね。。
ただ、普通にyumでphp入れたとき見たいなお手軽感がないので、recipe的な機能を作って、
コンパイルオプションとかをデフォルトで選んだりできれば良さそうやなぁなんて思ってる今日このごろ。

historyを見たところ下記のようなextを良く入れているっぽい。

php-nabe ext-install php_pdo
php-nabe ext-install php_mysql
php-nabe ext-install php-fpm
php-nabe ext-install fpm
php-nabe ext-install php-mysql
php-nabe ext-install zbil
php-nabe ext-install intl
php-nabe ext-install apc
php-nabe ext-install pdo
php-nabe ext-install mysql
php-nabe ext-install pdo_mysql
php-nabe ext-install ext-pcntl
php-nabe ext-install pcntl
php-nabe ext-install mcrypt
php-nabe ext-install newrelic
php-nabe ext-install ext-newrelic
php-nabe ext-install ext-newrelic
php-nabe ext-install zlib
php-nabe ext-install zip
php-nabe ext-install mysqli
php-nabe ext-install curl
php-nabe ext-install php-cli
php-nabe ext-install cli
php-nabe ext-install cli
php-nabe ext-install php
php-nabe ext-install ext-curl
php-nabe ext-install curl
php-nabe ext-install openssl
php-nabe ext-install xdebug
php-nabe ext-install xdebug-2.2.7
php-nabe ext-install mbstring

version毎には一応、これらはちゃんとmacの中に入っているはずなのだけど、
その辺りをrecipe的に管理したい欲求なんですよねー。

recipe管理ができれば、仮想マシンの中でphp-nabeを使ってphpをインストールするときに、
同じようなextensionを何度もbuildしないで済むし、

phpのバージョンを新しくインストールした時なんかも、recipeのextensionを全部インストールしてねー
みたいなことできるんじゃないかぁーなんて思っているわけです。

こういう風な仕組みになると、vagrantにもphp-nabeでprovisionをする方法が流行るんじゃないかなぁとか。
(聴いたところ手元でコンパイルするのはあまり好まれないらしい)

なんかいい方法あるかなー。