본문 바로가기
파이썬

파이썬 PHP에서 Python 스크립트 실행

by º기록 2021. 1. 3.
반응형

다음 명령을 사용하여 PHP에서 Python 스크립트를 실행하려고합니다.

exec ( '/ usr / bin / python2.7 /srv/http/assets/py/switch.py ​​arg1 arg2');

그러나 PHP는 단순히 출력을 생성하지 않습니다. 오류보고는 E_ALL로 설정되고 display_errors는 켜져 있습니다.

내가 시도한 것은 다음과 같습니다.

그러나 내가 달리면

if (exec('echo TEST') == 'TEST')
{
    echo 'exec works!';
}

지금 종료 는 아무 작업도하지 않는 동안 완벽하게 작동합니다.

PHP에는 파일에 액세스하고 실행할 수있는 권한이 있습니다.

편집 : Alejandro 덕분에 문제를 해결할 수있었습니다. 동일한 문제가 발생하면 웹 서버가 아마도 루트로 실행되지 않을 것임을 잊지 마십시오. 웹 서버의 사용자 또는 유사한 권한을 가진 사용자로 로그인하고 직접 명령을 실행 해보세요.

 

해결 방법

 

Ubuntu Server 10.04에서 테스트되었습니다. Arch Linux에서도 도움이되기를 바랍니다.


쉘을 통해 명령을 실행하고 전체 출력을 문자열로 반환합니다.

실행 된 명령의 출력을 반환하거나 오류가 발생하면 NULL을 반환합니다. 발생했거나 명령이 출력을 생성하지 않습니다.

<?php 

$command = escapeshellcmd('/usr/custom/test.py');
$output = shell_exec($command);
echo $output;

?>


#!/usr/bin/env python



shell_exec를 사용하려는 사람들을위한 간단한 알림입니다. unix-type platform and can't seem to get it to work. PHP executes as the web user on the system (generally www for Apache), so you need to make sure that the web user has rights to whatever files or directories that you are trying to use in the shell_exec command. 그렇지 않으면 아무것도하지 않는 것처럼 보입니다.


chmod +x myscript.py

 

참조 페이지 https://stackoverflow.com/questions/19735250

 

 

반응형

댓글