이 질문에서 우리는 shell_exec를 사용하여 PHP에서 bash 스크립트를 실행하려고 시도하는 PHP 개발자를 만났습니다. 사용된 구문은 다음과 같습니다:
$output = shell_exec("./script.sh var1 var2");
그러나 이 명령이 호출되면 스크립트가 실행되지 않습니다.
이 문제를 디버깅하려면 실패 원인을 식별하는 것이 중요합니다. ./script.sh var1 var2를 사용하여 명령줄을 통해 실행할 때 스크립트가 성공적으로 실행되므로 문제는 PHP 코드 내에 있을 가능성이 높습니다.
스크립트 실행 실패를 일으킬 수 있는 일반적인 문제 중 하나는 잘못된 디렉터리 권한 또는 경로입니다. . PHP 스크립트에서는 외부 명령을 실행하기 전에 올바른 작업 디렉터리를 설정해야 하는 경우가 많습니다. 이 문제를 해결하기 위해 코드는 shell_exec를 호출하기 전에 chdir을 사용하여 올바른 디렉터리를 지정할 수 있습니다.
다음 코드 조각은 이 문제를 해결합니다.
$old_path = getcwd();
chdir('/my/path/');
$output = shell_exec('./script.sh var1 var2');
chdir($old_path);
이 예에서는 다음을 수행합니다.
올바른 디렉토리가 있는지 확인함으로써 이 수정된 코드는 PHP에서 bash 스크립트를 성공적으로 실행해야 합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3