如何从PHP脚本运行grunt?
作者:互联网
我正在尝试从PHP脚本在本地项目中执行grunt.
我在全球安装了npm和grunt cli.
如果我打开终端并输入:
cd /path/to/local/grunt/project/ && grunt
Grunt将成功运行并执行我在该目录下的gruntfile.js中设置的任务.
但是,当我尝试通过php脚本对exec执行相同的操作时
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?
解决方法:
您需要使用指向节点和咕unt声的绝对路径,所以要像这样执行命令
var_dump(shell_exec('cd /path/to/local/grunt/project/ && /usr/local/bin/node /usr/local/bin/grunt 2>&1'));
标签:node-js,gruntjs,php 来源: https://codeday.me/bug/20191029/1958134.html