在exec期间重定向标准输出和错误时,php仍然等待结果

时间:2017-06-13 20:19:13

标签: php shell

我正试图在不等待结果的情况下尝试触发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的方式,但即使尝试这些版本的标准输出/错误重定向也无法正常工作。

还有其他我想念的东西吗?

1 个答案:

答案 0 :(得分:0)

我不确定为什么有必要,但是当您将命令与&&组合在一起时,您需要将它们分组,以便重定向适用于这两个命令。

exec("{ cd /var/www/domains/path/to/tool/folder && /usr/bin/node _start.js ; } >/dev/null 2>&1 &");