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. 둘 다 작동하지 않습니다.

관련 정보