読者です 読者をやめる 読者になる 読者になる

Hiroto's diary

プログラミング関連を書くかも

Circle CIでPHPのmemory_limitを変更する

Circle CIのPHP環境はデフォルトのmemory_limit128Mと非常に低くてPHPUnitがまともに実行できない。

そこでmemory_limitを書き換えてまともに動くようにする。

ビルド環境を調べる

Circle CIではビルド環境としてUbuntu 12.04とUbuntu 14.04が選べる。この環境によってiniファイルの場所が違うので注意。

dependenciesに書き換える処理を追加する

circle.ymldependenciesmemory_limitを追加する。テスト環境の準備段階でもPHPを使うので先に書き換える。値は最大で4096M(CircleCIのメモリ量は4GB)なので4096Mにする。

環境によってiniファイルを作る場所が違うので分けて書きます。

Ubuntu 12.04の場合

circle.yml

dependencies:
  override:
    - 'echo "memory_limit = 4096M" > ~/.phpenv/versions/$(phpenv global)/etc/conf.d/memory.ini'

Ubuntu 14.04の場合

circle.yml

dependencies:
  override:
    - 'echo "memory_limit = 4096M" > /opt/circleci/php/$(phpenv global)/etc/conf.d/memory.ini'

これでmemory.iniが作られてmemory_limit4096Mになってテストが走る。