Возможно ли на удалённом сервере отправить выполнение PHP-скрипта "в фон"?

интернет программирование Linux php сервер

Например, если подразумевается обработка большого количества данных. Хорошо бы запустить скрипт из браузера и удостовериться, что запуск состоялся - чтоб скрипт написал: "ну, я запустился, иди, отдыхай" и продолжил выполняться, разорвав соединение с клиентом.

Примечание:
15:51 Именно Без, Решит, но мне интересно возможно ли без него обойтись. ;-)

Примечание:
На отдалённых серверах SSH и cron могут быть недоступны.

Повторюсь: "Хорошо бы запустить скрипт _из_браузера_ и удостовериться, что запуск состоялся - чтоб скрипт написал: "ну, я запустился, иди, отдыхай" и _продолжил_выполняться_, _разорвав_соединение_ с клиентом."
Ответы:
А cron не решит ваши проблемы?
Можно написать скрипт, который будет запускать другой скрипт отдельно от веб-сервера, exec вам в помощь.
Невозможно конечно. Для защиты от кривых рук программистов, которые могли бы положить одной строчкой кода сервер, обслуживающий тысячу сайтов разных людей, предусмотрен лимит времени выполнения скрипта. Если скрипт выполняется дольше чем max_execution_time ( по дефолту 30 секунд) то скрипт останавливается принудительно. Лимит отсутствует в CLI SAPI, но вы же не хотите юзать cron ...
При условии, что вы можете сделать set_time_limit(0);
на шаред-хостингах такое невозможно, нужен свой VDS как минимум.
В консоли запусить скрипт (запуск в режиме демона)
nohup myPHPScript.php & > result.txt
Повторюсь, напишите два скрипта, первый будет запускать второго через exec() или system(). Второй выдаст сообщение "Ок, я запустился".
SSH тут ни при чем, exec/system/etc — просто вызов команды в оболочке, запуск приложения (а SSH — удаленный доступ к терминалу). Cron в этой схеме тоже не нужен.
set_timelimit(0) тоже может помочь, но скорее всего, вы не будете иметь доступа к нему, и даже если будете, у самого веб-сервера могут быть лимиты на ожидание полного ответа от скрипта с его завершением (по истечение которого скрипт может быть убит).


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.