Bashスクリプトを使用してAWSインスタンスを起動しようとしています。 BashスクリプトはPHPスクリプトによって呼び出されます。
私のサンプルPHPスクリプト:
<?php
exec("sh /var/www/html/pushDatToAWS.sh >> $trainLog");
?>
私のbashスクリプトの例:
#!/bin/bash
insId='i-abcde'
aws ec2 start-instances wait --instance-ids $insId --region us-west-2
私のコンピュータにaws cliを設定しました。次のエラーが発生します。
/var/www/html/pushDatToAWS.sh: 21: /var/www/html/pushDatToAWS.sh: aws: not found
ファイルには777権限があり、端末で実行しようとするとすべてがうまく機能します。確認してみると、which aws
私が受け取った応答が表示されました/home/name/.local/bin/aws
。 bashrcにパスをエクスポートしました。
export AWS_PATH=$PATH:/home/magesh/.local/bin
aws startインスタンスコマンドへのパスをハードコーディングしてみました。
/home/name/.local/bin/aws start-instances wait --instance-ids $insId --region us-west-2
これに対する権限拒否エラーが発生します。フォルダのユーザー所有権をroot:www-data
と に変更してみましたusername:www-data
。どちらも機能しません。