PHP経由でAWSに接続するためのbashスクリプトの実行が失敗する

PHP経由でAWSに接続するためのbashスクリプトの実行が失敗する

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。どちらも機能しません。

ベストアンサー1

おすすめ記事