我正试图在不等待结果的情况下尝试触发php命令。我正在解雇的命令如下:
exec("cd /var/www/domains/path/to/tool/folder && /usr/bin/node _start.js >/dev/null 1>/dev/null 2>/dev/null &");
当我直接在终端中发射cli命令时,它会立即触发并“完成”,如我所料。
当我解开上面的完整php行时,php仍在等待结果。
当我在exec上阅读php的文档时,我看到人们在解释it's possible to fire the shell command without waiting的方式,但即使尝试这些版本的标准输出/错误重定向也无法正常工作。
还有其他我想念的东西吗?
答案 0 :(得分:0)
我不确定为什么有必要,但是当您将命令与&&
组合在一起时,您需要将它们分组,以便重定向适用于这两个命令。
exec("{ cd /var/www/domains/path/to/tool/folder && /usr/bin/node _start.js ; } >/dev/null 2>&1 &");