Как я могу запустить демон на xampp, используя PHP?
У меня есть база данных XML, которой я хочу управлять независимо от пользователей на моем сайте. Что касается этого вопроса, то мне кажется, что я должен написать демон-скрипт для управления моей базой данных. Это все хорошо и прекрасно, но я чувствую, что открываю банку с червями. Я хотел написать свой демон-скрипт на PHP, поэтому я посмотрел на PCNTL. Но я быстро понял, что PCNTL не подходит для веб-серверов. Так что теперь я в тупике. Как я могу заставить демона работать на моем сервере? Нужно ли учить другой язык? Я только хочу написать свои собственные сценарии. Но я чувствую себя потерянным. Я бы предпочел написать своего демона на PHP, так как я знаком с языком.
Я исследовал все, от вопросов PCNTL, CLI, SO, многочисленных статей о процессах демона... и т. Д.
Я использую PHP 5.6.32 (cli), Windows 7, на Apache. XAMPP 5.6.32. Unix система.
РЕДАКТИРОВАТЬ: У меня также есть настройки Windows для запуска PHP из командной строки.
1 ответ
Нет ничего плохого в запуске PHP-демона, однако это не самая быстрая вещь, особенно до версии 7.0. Вы можете действовать двумя способами:
- С помощью
Cron Jobs
, если вы находитесь под Unix-системамиcrontab
все будет в порядке, таким образом, вы можете указать интервал в системе автоматически выполняет указанный сценарий, а затем выйти. - Настоящий демон, во-первых, вам нужно изменить
max_execution_time
в PHP.ini до 0 (бесконечно), затем в вызове демона для первой функцииset_time_limit(0);
Не забудьте запустить его только один раз. Однако, если есть какой-то сбой, например, непроизведенная ошибка, сценарий завершится, и вам нужно будет снова открыть его вручную, и не пытаться... перехватить цикл while, потому что он, вероятно, войдет в бесконечный цикл. Выполнить скрипт сphp -f daemon.php
,