

AWS EC2 において、Auto Scaling で自動作成された CentOS のインスタンスをシェルスクリプトで初期化しようとしています。

その場合、普通に Composer をインストールしようとするとメモリ不足でエラーが発生してしまいます。  
スワップファイルを作成して対応できると聞き、以下のように書きました

[code]

    # 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
    
[/code]

しかし、作成されたインスタンスを確認すると、Composer のインストールができていないことが分かりました。  
スワップファイルが作成されるところまではできているので、Composer をインストールする段階でコケているのは分かっています。

どうコケているのか確かめるために、素の CentOS
インスタンスを立ち上げ、シェルスクリプトの中身を順にコピペして実行したのですが、この方法だと正常にインストールできてしまいました。

シェルスクリプトで初期化した時だけ失敗するのは、どのような原因が考えられますか？


CC BY-SA 4.0
2019-06-24T01:36:12.260
56043
2019-06-26T01:27:06.573
34210
question
php centos shellscript composer
スワップファイルを利用した Composer のインストールができない


PHPにパスは通っていますか？

[code]

    echo "ここまで進んだ" > logfile
    
[/code]

みたいな行を入れて、どこまで進んでいるか確認してみるのもいいかも知りません。  
コマンドの出力や戻り値も入れると原因究明し易くなるかと思います。


CC BY-SA 4.0
2019-06-26T01:27:06.573
56098
2019-06-26T01:27:06.573
2605
56043
answer