문제:
exec()를 사용하여 PHP에서 Python 스크립트를 실행하려고 할 때 명령을 실행하면 적절한 오류 보고 및 실행에도 불구하고 PHP가 출력을 생성하지 못합니다.
근본 원인:
"apache" 또는 "www-data"와 같은 웹 서버 계정에 액세스 및 액세스에 필요한 권한이 없을 때 문제가 발생합니다. Python 파일을 실행합니다. 기본적으로 웹 서버 계정은 제한된 권한으로 작동하는 경우가 많습니다.
해결 방법:
이 문제를 해결하려면 웹 서버 계정에 실행을 위한 적절한 권한이 있는지 확인하는 것이 중요합니다. 파이썬 스크립트. 이는 다음을 통해 달성할 수 있습니다:
권장 기능:
exec()를 사용하는 대신 다음과 같습니다. 쉘을 통해 명령을 실행하려면 PHP의 shell_exec() 함수를 활용하는 것이 좋습니다. 이 함수는 실행된 명령에 의해 생성된 전체 출력을 반환하거나 오류가 있거나 출력이 없는 경우 NULL을 반환합니다.
예:
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
필수 고려 사항:
Python 스크립트가 올바르게 실행되도록 하려면 다음 줄을 첫 번째 줄로 포함하세요. 스크립트:
#!/usr/bin/python
이 줄은 사용할 Python 인터프리터를 지정하여 시스템의 다양한 Python 설치와의 호환성을 보장합니다. 또한 Python 스크립트에는 적절한 권한이 있어야 하며 필요한 시스템 명령이나 파일은 웹 서버 계정에서 액세스할 수 있어야 합니다.
위 내용은 내 PHP exec() 함수가 Python 스크립트를 실행하지 않는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!