>  기사  >  백엔드 개발  >  내 Bash 스크립트가 PHP에서 실행되지 않는 이유는 무엇입니까?

내 Bash 스크립트가 PHP에서 실행되지 않는 이유는 무엇입니까?

DDD
DDD원래의
2024-11-04 21:00:02737검색

Why are My Bash Scripts Not Executing from PHP?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.