2017-09-26 4 views
0

에서 .py 파일을 실행하면 도움의 손길에 왔습니다. 나는 최신 raspbin OS로 Raspberry PI 3을 연구 중이다. 웹 서버 (Appache, MySQL, PHP)가 제대로 실행 중입니다.Raspbian - 많은 연구를 거쳐 PHP 코드

PHP 코드에서 .py 파일을 실행하려고 시도하지만 작동하지 않습니다. I의/var/www/html로 파일 위치를 변경하려고 나는 내 평 파일의 시작에

#!/usr/bin/env python 

을 추가의 sudoers에 www가 데이터 예외를 추가, 나는 WWW에게주고 변경 파일 소유권을 시도 -data, www-data를 루트 사용자로 변경하려고했으나 .py가 여전히 실행되지 않습니다.

내 .py 파일은 SSH 또는 직접 실행을 통해 정상적으로 작동합니다. 여기

내가 그것을

exec('sudo -u www-data python /var/pi/www/html/Currenttestpy.py', $out, $status); 

echo 'Status : ' . $status . '.' ; 

는 나에게 "1"상태를 반환 실행하는 방법입니다. 나는 pi 사용자와 동일한 코드를 동일한 결과로 보냅니다. 어떤 도움도 감사 할 것입니다.

+0

이 문제는 'sudo' 문과 관련이 있다고 생각합니다. PHP 스크립트는 다른 사용자로 실행되며 루트로 올라갈 수 없습니다. 하지만 ... PHP 스크립트가 이미 www- 데이터로 실행되어서는 안됩니까? –

+0

글쎄요, IRC의 도움의 손길이 왔습니다. 문제는 내 명령에서 왔습니다. 나는 내 명령 끝에 2> & 1을 덧붙여 stderr를 캡쳐했다. exec ('sudo -u root python /var/www/html/Currenttestpy.py 2> & 1', $ out, $ status); 오류가 분명합니다. – user3927850

답변

0

루트 권한 상승없이 실행 해 보셨습니까?

exec('python /var/pi/www/html/Currenttestpy.py', $out, $status); 

echo 'Status : ' . $status . '.' ;