如何在后台运行composer安装后命令?

时间:2019-02-01 14:52:10

标签: php composer-php background-process nohup

如何在composer脚本中在后台运行命令并转到下一个命令。我尝试了类似下面的操作,但是它仍然挂断,直到chgrp命令完成并且不执行下一个命令。

composer.json

"post-install-cmd": [
            "sh ./scripts/composer/post-install.sh"
 ],

post-install.sh

#!/bin/sh

set -ex

echo "Setting appropriate permissions"
nohup chgrp -R www web &
echo "Executing next command"

1 个答案:

答案 0 :(得分:2)

PHP是单线程的,因此正在运行的作曲家将对其进行锁定,直到该过程完成为止,这意味着在运行您的Shell脚本时,它仍然“忙碌”,因为它将等待该过程完成。

但是,可以对它进行多线程处理,但只能从CLI进行,并且它对您无济于事,因为您一开始将要从作曲家那里开始程序。

看看this question and answers,看它是否适合您的用例。