PHP에서 Bash 명령 실행: 실행되지 않는 스크립트 문제 해결
사용자가 PHP 파일에서 Bash 스크립트를 실행하는 데 어려움을 겪고 있습니다. shell_exec 및 system을 사용하려는 시도에도 불구하고 스크립트는 실행되지 않은 상태로 유지됩니다. 그러나 "ls"와 같은 다른 명령은 shell_exec를 사용하여 올바르게 작동합니다.
잠재적 원인 및 해결 방법:
이 문제는 잘못된 디렉터리에서 스크립트를 실행함으로써 발생할 가능성이 높습니다. 이 문제를 해결하려면 사용자는 스크립트를 실행하기 전에 현재 작업 디렉터리를 스크립트가 있는 디렉터리로 변경해야 합니다. 이렇게 하면 스크립트 실행에 대한 올바른 컨텍스트가 보장됩니다.
코드 조각:
다음 코드 조각은 Bash 스크립트를 올바르게 실행하는 방법을 보여줍니다.
<code class="php">$old_path = getcwd(); chdir('/my/path/'); // Change to the script's directory $output = shell_exec('./script.sh var1 var2'); chdir($old_path); // Return to the previous working directory</code>
이 코드에서 getcwd()는 현재 작업 디렉터리를 검색하고, chdir('/my/path/')는 작업 디렉터리를 스크립트 경로로 설정하고, shell_exec('./script.sh var1 var2')는 주어진 인수를 사용하여 스크립트를 실행하면 chdir($old_path)가 이전 작업 디렉터리로 되돌아갑니다.
위 내용은 내 Bash 스크립트가 PHP에서 실행되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!