PHP는 exec, shell_exec 및 system을 포함하여 외부 명령을 실행하기 위한 여러 함수를 제공합니다. 그러나 이러한 함수를 사용하여 Python 스크립트를 실행하려고 하면 문제가 발생할 수 있습니다.
문제 해결:
이 문제를 해결하기 위해 다음을 포함한 다양한 솔루션을 시도했습니다.
그러나 PHP는 여전히 출력을 생성하지 않습니다.
해결책:
문제는 PHP가 아니라 권한에 있을 수 있습니다. 웹서버는 일반적으로 제한된 사용자 권한으로 실행되므로 특정 명령을 실행하거나 파일에 액세스하는 기능이 제한될 수 있습니다.
웹 서버를 실행 중인 사용자로 서버에 로그인합니다(예: www-data).
PHP에서 실행하려는 명령을 사용하여 다음에서 수동으로 실행해 보세요. 웹 서버 사용자로 터미널. 예:
/usr/bin/python2.7 /srv/http/assets/py/switch.py arg1 arg2
명령이 수동으로 작동하는 경우 문제가 권한에 있는지 확인합니다.
PHP 스크립트와 Python 스크립트에 올바른 권한이 있는지 확인하세요. PHP에는 PHP 스크립트에 대한 실행 권한이 있어야 하며 Python 스크립트에는 웹 서버 사용자에 대한 실행 권한이 있어야 합니다.
PHP의 shell_exec 함수는 일반적으로 exec나 시스템보다 외부 명령 실행에 더 안정적입니다. 실행된 명령의 전체 출력을 반환합니다. 다음 코드를 사용하세요.
$command = escapeshellcmd('/usr/custom/test.py'); $output = shell_exec($command); echo $output;
Python 파일의 첫 번째 줄에 다음이 포함되어 있는지 확인하세요. shebang 줄:
#!/usr/bin/env python
이 줄은 Python 인터프리터를 지정합니다. use.
필요한 경우 다음을 사용하여 Python 파일을 UNIX 유형 플랫폼에서 실행 가능하게 만듭니다:
chmod +x myscript.py
위 내용은 PHP에서 Python 스크립트를 성공적으로 실행하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!