@Prihod

Как запустить выполнения php скрипта в фоне?

Есть скрипт run.php который вызывается по cron и через exec запускает другие скрипты не дожидаясь их завершения. Делаю это так :
$command = '/usr/bin/php  script.php 2> /dev/null & echo $!';
exec($command);


Проблема в том что на одном сервере все нормально работает, а на 2-м не работает из-за & echo $! если эту часть убрать то script.php запускается но вот run.php не завершается пока script.php не выполнится.

Из-за чего такое может быть?
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
@Prihod Автор вопроса
В общим проблема оказалась из-за того, что на хостинге запрещено создавать процессы демоны. Тема закрыта, спасибо всем кто отвечал
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@bkosun
$command = "(/usr/bin/php -q script.php) >/dev/null 2>&1 &";

exec($command);


Как правильно запустить внешний скрипт в фоновом режиме?
Ответ написан
Комментировать
@ar2rsoft
PHP-developer
Может nohup поможет, погуглите
Ответ написан
Комментировать
Sanes
@Sanes
fastcgi_finish_request();
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы