PHP ExtensionsをCircleCIで使用する
CircleCIが提供しているPHPイメージに入っていないExtensionsを依存に含めた際に、どうすればいいのか調べても信頼性の低い情報ばかりだったので、やり方を残す。
このやり方はcomposer
を使用し、composer.json
のrequire
に依存を記述していることを前提としている。
独自にやる場合はdocker-php-ext-install
を実行すればよい。
まず、Extensionによっては依存がある場合があるので、それを予めインストールする。ext-gd
にはlibpng-dev
が必要なので、上記はそれをインストールしている。
次に、docker-php-ext-install
はインストール済みのExtensionに対して実行すると再インストールを試みて失敗したりするので、追加インストールに絞る為にcomposer check-platform-reqs
を使用する。このコマンドはmissing
が存在する場合にエラーコードを返すのでpipefail
を最後のコマンド以外のエラーを無視している。
また、docker-php-ext-install
を単に実行するとディレクトリ周りのエラーが出る為、sudo
権限で実行している。
参考
記事が気に入ったらチップを送ることができます!
You can give me a cup of coffee :)
Kyash ID: soranoba
Amazon: Wish List
GitHub Sponsor: github.com/sponsors/soranoba
PayPal.Me: paypal.me/soranoba
(Updated: )