2014-09-01 2 views
3

나는 PHP 스크립트에서 로컬 프로젝트에서 꿀꿀 거리는 것을 실행하려고합니다.PHP 스크립트에서 툴툴 거리기를 실행하는 방법은 무엇입니까?

전 npm과 grunt cli가 전 세계적으로 설치되어 있습니다.

cd /path/to/local/grunt/project/ && grunt 

그런트가 성공적으로 실행하고 나는 그 디렉토리에있는 gruntfile.js에 설정 한 작업을 수행합니다 : 내가 터미널을 열고 입력하면

. 나는 PHP 스크립트를 통해 간부 같은 일을 쉘하려고하지만

,

var_dump(shell_exec('cd /path/to/local/grunt/project/ && grunt 2>&1')); 

내가 얻을 :

sh: grunt: command not found 

가 나는 또한 글로벌 CLI에 직접 경로를 시도했다 :

var_dump(shell_exec('/usr/local/lib/node_modules/grunt-cli/bin/grunt 2>&1')); 

하지만 그때 얻을 :

env: node: No such file or directory 

그러나 이것은 터미널에서 예상대로 실행됩니다.

여기 무슨 일 이니? PHP를 통해 실행하려고 할 때 왜 grunt 명령을 찾을 수 없습니까? PHP 스크립트에서 exec 또는 exec grunt를 어떻게 처리 할 수 ​​있습니까?

+0

것처럼 PATH 변수를 명령을 실행 노드와 툴툴 거리는 소리에 절대 경로를 사용하도록 –

+0

에 의해로드 된 것을 내가 좋아하는 다른 사람을 실행할 수와 동일하지 않습니다 필요 "/ usr/local/bin/optipng"는 grunt와 같은 위치에 있습니다. 어떤 제안? – user3143218

+0

PATH 문제가 있다고 생각합니다. 이 게시물을보십시오 : http://serverfault.com/questions/151328/setting-apache2-path-environment-variable –

답변

4

는 명령 줄을 사용하는 경우 그래서이

var_dump(shell_exec('cd /path/to/local/grunt/project/ && /usr/local/bin/node /usr/local/bin/grunt 2>&1')); 
관련 문제