2016-07-26 5 views
2

현재 Python 2.7이 OSX의 일부로 설치되었으며 최근에 3.5.2가 설치되었습니다.PHP exec 명령은 python 스크립트를 실행하지만 python은 실행하지 않습니다.

내가 XAMPP를 사용하여 내 맥의 로컬 웹 서버를 실행하는거야, 나는 아파치 내에서 파이썬 스크립트를 실행할 때, 그것을 잘로드 :

$executePython = "python " . __DIR__ . "/cycle/cutoff.py $device_id $processPreviousMinutes"; 
exec("$executePython"); 

을 그러나, 나는 python3python 내 스크립트가 거부 교체 할 때 달리기. 두 버전을 모두 사용하여 명령 줄에서 수동으로 호출 할 수 있지만 아파치 계정/데몬은 python3에 액세스 할 수없는 것처럼 보입니다. 이것은 내가 간과 한 구성 파일과 관련이 있습니까?

+0

당신은 python과 python3에 대한 사용 권한/사용자 그룹을 비교하고 자신의 질문에 답할 수 있습니까? – vitr

+0

python2.7 및 python3.5 실행 파일에 대한 공유 및 사용 권한을 확인하면 파일이 정확히 동일하다는 것을 알 수 있습니다. 더 이상의 아이디어? – ugotchi

+0

PHP에서 'python3'을 실행하려고했을 때 정확히 무엇을 얻었는지 봅니까? 오류 메시지 등이 있어야합니다. – vitr

답변

2

우리는 최신 OSX에서 시스템 전체 경로를 망치고 싶지 않습니다. 당신이이 같은 스크립트에 python3 경로를 추가 한 다음 일반 물건을 할 경우

putenv("PATH=/usr/local/bin/:" . exec('echo $PATH')); 
$executePython = "python3 " . __DIR__ . "/cycle/cutoff.py $device_id $processPreviousMinutes"; 
exec("$executePython"); 

putenv 그냥 어떤 현재 경로에 python3 경로를 추가하면 XAMPP의 아파치입니다.

+0

덕분에 완벽하게 작동했습니다! – ugotchi

관련 문제