2013-10-21 2 views
1

PHP로 웹 응용 프로그램을 확장했습니다. 나는 PHP 스크립트가 확장 기능을 다시 만들어서 터미널에 명령을 보내려고한다. 다음과 같이 보입니다.명령은 터미널에서 작동하지만, PHP에서는 작동하지 않습니다.

shell_exec("make -C /folder1/folder2"); 

그리고 .so 파일을 만들지는 않습니다. 그 폴더에 chmod 777을 사용하여 편집 가능하게 만들었지 만 도움이되지 않았습니다. 내가 직접 터미널에서 명령을 사용하고 때 잘 작동 :

make -C /folder1/folder2 

하는 .so 파일은 문제없이 작성되는 내 확장 직장에서 기능 그들이해야처럼. 누구든지이 솔루션을 가지고 있습니까?

+1

PHP 스크립트에 절대 경로 (예 :'make')를 넣으십시오. '/ usr/bin/make'를 실행하십시오. – nickb

+0

은 지금도 같은 결과를 보았습니다 : ( – Rafal

답변

1

PHP가 안전 모드에서 실행되지 않고 PHP 사용자가 파일 및 폴더에 대한 읽기/쓰기 액세스 권한이 있는지 확인하십시오. 자세한 내용은 shell-exec의 의견을 읽어보십시오.

+0

안전 모드가 해제되어 있고 해당 폴더의 파일을 직접 편집/추가/삭제할 수 있습니다. – Rafal

+0

당신은 할 수 있지만 apache/PHP가 실행되는 사용자도 있습니까? – aynber

+0

지금은 2 명 밖에 안되는 루트와 저 – Rafal

관련 문제