LoginSignup
3
3

More than 5 years have passed since last update.

phpenvでPECLからインストールするpecl-buildのオリジナルが壊れているのでfork版を使う

Posted at

例えばCakePHP 3をインストールするとき、ext-intlが必要と出ます。これはPHPのビルド時に指定するか、PECLからインストールするかしなくてはなりません(ディストリビューション版PHPならphp-intlパッケージが用意されている場合もあります)。

PHPを複数バージョン共存させることができるphpenv環境下でPECLからインストールするには、pecl-buildという
phpenv用プラグインが利用できます。

そのpecl-buildですが、オリジナルの https://github.com/crocos/pecl-build.git は不具合が修正されておらず動かない場合があるので、フォークされた方を利用します。

参考:http://sorehane.blog.jp/archives/1003227022.html

参考記事のようにやっても正常に動かない。

参考2:https://github.com/crocos/pecl-build/pulls

みんな修正案をプルリクエストしているがマージされない。どうやらHTTPレスポンスヘッダの'Content-Disposition'をgrepコマンドの環境変数依存で取得できたりできなかったりするのが原因らしいですね。

というわけで、実際の運用として、例えばphpenv${PHPENV_ROOT}に入っているとして、

cd ${PHPENV_ROOT}/plugins/
git clone https://github.com/felipecwb/pecl-build.git 
cd
phpenv pecl intl

という感じとなります。

${PHPENV_ROOT}/plugins/php-build/share/php-build/default_configure_optionsにビルドオプションとして書いておくほうが取りこぼしないのでお勧めです)

3
3
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
3
3