如何从PHP脚本运行grunt?

时间:2014-09-01 03:29:47

标签: php node.js gruntjs

我正在尝试从php脚本在本地项目中执行grunt。

我有全球安装的npm和grunt cli。

如果我打开终端并输入:

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

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?

1 个答案:

答案 0 :(得分:4)

你需要使用node和grunt的绝对路径,所以像这样执行你的命令

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