Как запустить команду post-install для композитора в фоновом режиме? - PullRequest
0 голосов
/ 01 февраля 2019

Как запустить команду в фоновом режиме внутри скрипта композитора и перейти к следующей команде.Я пробовал что-то вроде ниже, но он все еще зависает, пока команда 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 голосов
/ 01 февраля 2019

PHP является однопоточным, поэтому работающий композитор блокирует его до тех пор, пока процесс не будет завершен, что означает, что он все еще «занят», когда выполняет скрипт оболочки, поскольку он будет ожидать его завершения.

Тем не менее, возможно многопоточность, но только из CLI, и это не поможет вам, так как вы начнете процедуру с композитора с самого начала.

Посмотрите на на этот вопрос и ответы , чтобы увидеть, может ли он вписаться в ваш вариант использования.

...