Запустить php скрипт в фоновом режиме
Есть ли способ запустить скрипт php и позволить ему работать на сервере, пока он не завершится?
Я использую это
php5-cgi /var/www/script.php -q &
соединение через замазку. Когда я закрываю его (сеанс), сценарий останавливается! Почему он работает в зависимости от сеанса?
4 ответа
Пытаться nohup
а также disown
:
nohup php5-cgi /var/www/script.php -q &
disown
Если screen
доступно, используйте это. Просто запустите экран, введите в нем команду, отсоедините экран и продолжайте свой веселый путь.
Также имейте в виду, что PHP имеет ограничение времени ожидания скрипта, после которого он автоматически прекращает выполнение скрипта. Вы можете изменить max_execution_time
установка в вашем /etc/php5/cli/php.ini
(по умолчанию 30 секунд).
Это потому, что ваш процесс не отделен от сигнала зависания. Используйте вместо этого следующее.
nohup php5-cgi /var/www/script.php -q
Вы также можете использовать терминальный мультиплексор, как screen
или же tmux
если вы хотите иметь возможность вернуться к выводу скрипта...