이 질문에서 우리는 shell_exec를 사용하여 PHP에서 bash 스크립트를 실행하려고 시도하는 PHP 개발자를 만났습니다. 사용된 구문은 다음과 같습니다.
<code class="php">$output = shell_exec("./script.sh var1 var2");</code>
그러나 이 명령을 호출하면 스크립트가 실행되지 않습니다.
이 문제를 디버깅하려면 실패 원인을 식별하는 것이 중요합니다. ./script.sh var1 var2를 사용하여 명령줄을 통해 실행하면 스크립트가 성공적으로 실행되므로 문제는 PHP 코드 내에 있을 가능성이 높습니다.
스크립트 실행 실패를 일으킬 수 있는 일반적인 문제 중 하나는 잘못된 디렉터리 권한 또는 경로입니다. . PHP 스크립트에서는 외부 명령을 실행하기 전에 올바른 작업 디렉터리를 설정해야 하는 경우가 많습니다. 이 문제를 해결하려면 코드에서 shell_exec를 호출하기 전에 chdir을 사용하여 올바른 디렉터리를 지정할 수 있습니다.
다음 코드 조각은 이 문제를 해결합니다.
<code class="php">$old_path = getcwd(); chdir('/my/path/'); $output = shell_exec('./script.sh var1 var2'); chdir($old_path);</code>
이 예에서는 다음을 수행합니다.
올바른 디렉토리가 있는지 확인함으로써 이 수정된 코드는 PHP에서 bash 스크립트를 성공적으로 실행해야 합니다.
위 내용은 `shell_exec`를 사용하여 PHP에서 호출할 때 Bash 스크립트가 실행되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!