Постоянный сервер сокетов PHP - PullRequest
1 голос
/ 18 декабря 2011

Я планирую разработку сервера, написанного на PHP, который будет обслуживать запросы сокетов. Я использую бесплатный хост (Heliohost) для тестирования, и у него есть cPanel. До сих пор единственное, о чем мне приходилось думать, что PHP-скрипт всегда запущен, - это написать задание cron, которое запускает bash-скрипт для проверки ps, чтобы увидеть, запущен ли PHP, и если он не запущен. т, начни.

Есть ли лучший способ? Возможно, способ для запуска потока PHP по HTTP-запросу и продолжения работы в Apache после обслуживания запроса?

1 Ответ

2 голосов
/ 18 декабря 2011

Вам почти наверняка не удастся запустить постоянные процессы из Apache.Он предназначен для предотвращения этого сценария (хотя, если вы можете добраться до системного вызова fork(2), это, вероятно, выполнимо).Хотя я бы не рекомендовал пробовать это.

Что может быть более разумным, если вы используете хостинг-провайдера, который дает вам возможность написать свои собственные crontab(5) спецификации и для запуска PHPпереводчик напрямую.Затем вы можете просто добавить строку к вашему crontab(5), например:

@reboot /path/to/php /path/to/script.php

Ваш скрипт, вероятно, должен выполнять обычные демонизация задач, чтобы cron(8) не застрял в ожиданиипроцесс для выхода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...