shell_exec로 bash 스크립트를 시작할 수 없습니다

shell_exec로 bash 스크립트를 시작할 수 없습니다

나는 며칠 동안 인터넷 검색을 통해 내 PHP 스크립트로 이 문제를 해결하려고 노력했으며 여기 누군가가 내 Bash 스크립트를 시작하기 위해 PHP 스크립트를 가져오는 데 누락된 문제를 볼 수 있기를 바랍니다.

내 PHP는 다음과 같습니다.

//kickoff the yapeal script
echo "Starting yapeal.sh<br>";
echo "Current working directory: ";
echo getcwd() . "\n";
shell_exec('./yapeal.sh');
echo "<br>yapeal.sh ran, I hope.<br>";

여기 yapeal.sh가 있습니다

#!/bin/bash
cd /var/www/tools/applications
php -f /var/www/lib/yapeal/yapeal.php
sleep 5s
echo "`date -u` Yapeal kicked off, working" > bashoutput.log 2>&1

파일에 대한 권한은 다음과 같습니다.

-rwxrwxrwx 1 www-data www-data 4640 Jul 10 07:20 index.php
-rwxrwxrwx 1 www-data www-data 2845 Jul 10 07:33 working.php
-rwxrwxrwx 1 www-data www-data  232 Jul 10 07:17 yapeal.sh

웹 브라우저에서 출력되는 내용은 다음과 같습니다.

Starting yapeal.sh
Current working directory: /var/www/tools/applications
yapeal.sh ran, I hope.

bashoutput.log 파일에 출력이 없습니다.

내 php.ini를 확인했는데, 비활성화_기능 섹션에 exec 또는 shell_exec에 대한 참조가 없습니다.

답변1

나는 내 자신의 문제를 해결했습니다.

PHP 코드를 다음과 같이 수정했습니다.

$output = shell_exec('./yapeal.sh');
echo $output;

관련 정보