2013-04-11 1 views
0

내가 PHP와 파이썬 스크립트를 실행하려고하지만 결과가 없어 실행 PHP :간부()와 경유()

동안 "1"

: 나는

$tmp = passthru("C:\\Python27\\python.exe C:\\Python27\\script.py C:\\Python27\\file.pdf",$output); 
print($output) 

결과를 시도

$tmp = exec("C:\\Python27\\python.exe C:\\Python27\\script.py C:\\Python27\\file.pdf",$output); 

반환 배열()

나는, 문자열을 반환하기 위해 어떤 제안을 제외하고있어? 는 내 php.ini 파일

safe_mode = Off 

감사에서 확인!

답변

1

설명서에 exec()$output 매개 변수가 각 행으로 채워질 배열임을 나타냅니다. 당신은 하나의 문자열이 점을 설정하려면, 사용

$output_string = implode("\n", $output); 
+0

내 배열에 결과가 없습니다. 제 문제는 – Alex

+0

입니다. 'passthru'에서 얻은 종료 상태 1은 파이썬이 스크립트를 실행하는 동안 오류가 있음을 나타냅니다. 스크립트가 실행되지 않으면 출력이 나오지 않습니다. – Barmar

+0

그러나 Windows에서이 명령을 사용하면 결과가 나타납니다. C : \\ Python27 \\ python.exe C : \\ Python27 \\ script.py C : \\ Python27 \\ file.pdf – Alex

0

이 당신을 위해 작동합니다 :

ob_start(); 

passthru("C:\\Python27\\python.exe C:\\Python27\\script.py C:\\Python27\\file.pdf"); 

$filedata = ob_get_clean(); 

echo $filedata; 
0

파이썬 버퍼 출력을 기본적으로. 환경 변수 PYTHONUNBUFFERED를 비어 있지 않은 문자열로 설정하거나 python을 -u로 실행하십시오.