スワップファイルを利用した Composer のインストールができない
AWS EC2 において、Auto Scaling で自動作成された CentOS のインスタンスをシェルスクリプトで初期化しようとしています。
その場合、普通に Composer をインストールしようとするとメモリ不足でエラーが発生してしまいます。
スワップファイルを作成して対応できると聞き、以下のように書きました
# Generate a swap file for composer
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1
# Install composer
cd /var/www/html
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
php composer.phar install
しかし、作成されたインスタンスを確認すると、Composer のインストールができていないことが分かりました。
スワップファイルが作成されるところまではできているので、Composer をインストールする段階でコケているのは分かっています。
どうコケているのか確かめるために、素の CentOS インスタンスを立ち上げ、シェルスクリプトの中身を順にコピペして実行したのですが、この方法だと正常にインストールできてしまいました。
シェルスクリプトで初期化した時だけ失敗するのは、どのような原因が考えられますか?