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