php запустить php скрипт и продолжить
На данный момент у меня есть такая строка кода:
system("/usr/bin/php myphpscript.php --param=".val);
Есть ли способ заставить php не ждать окончания работы скрипта и просто двигаться дальше?
Это цикл перемещения электронной почты, а myphpscript.php анализирует почту. И я не хочу ждать, пока myphpscript.php закончится каждый раз - просто запустите его и двигайтесь дальше!
ОБНОВЛЕНИЕ РЕШЕНИЯ
Нашел ответ здесь:
http://www.php.net/manual/en/function.exec.php
passthru("/usr/bin/php myphpscript.php --param=".val." >> /dev/null 2>&1 &");
Опыт:
/ DEV / нуль
Мне нужно было написать что-то еще, что STDOUT, иначе PHP зависнет до конца скрипта. Поэтому я пишу в / dev / null.
2>&1
Перенаправление ошибок в STDOUT
&
"Запустить в фоновом режиме", как указано в этой теме.
Хорошего дня!
Джек
Джек
2 ответа
Это должно работать
exec("/usr/bin/php myphpscript.php --param=".val . '&');
Бросив фоновую команду до конца, нужно продолжить выполнение сценария:
system ("/ usr / bin / php myphpscript.php --param =". val. "&");
Я бы также добавил nohup просто для безопасности, так как я думаю, что этот подпроцесс может быть убит, когда родительский скрипт php завершит работу:
system ("nohup / usr / bin / php myphpscript.php --param =". val. "&");