Можно ли запустить скрипт php в фоновом режиме? - PullRequest
0 голосов
/ 07 октября 2010

Сейчас я занимаюсь разработкой веб-сервера SNMP и хочу получить данные из MIB в Windows для вставки в базу данных MySql.Я использую SNMP-соединение, предоставляемое в PHP, поэтому я хочу, чтобы мой php-скрипт всегда работал, а интерфейс в фоновом режиме не обновлялся.Могу ли я сделать так или есть лучший способ сделать.Пожалуйста, помогите мне.

1 Ответ

1 голос
/ 07 октября 2010

Вам понадобится что-то вроде демона в php, хотя это не лучший способ сделать это, это возможно. Просто запустите ваш php-скрипт из командной строки (среда php CLI) и отключите его от консоли как новый процесс. Запуск зависит от вашей ОС, но в любом случае простой консольный скрипт сделает эту работу. Тогда вам нужно только убедиться, что ваш php-скрипт никогда не завершится. Используйте этот бесконечный скрипт для опроса вашего агента SNMP и записи значений в MySQL. Разработайте еще одну связку PHP-скриптов для чтения из БД и отображения значений на веб-странице.

Примечание: PHP не был разработан для такой цели, то есть для реализации резидентного демона, который ведет себя как своего рода приложение, поэтому вы можете легко столкнуться с трудностями, связанными с потреблением и обработкой памяти (без многопоточности!).

Я рекомендую использовать другой язык для службы демона, то есть Java. Есть бесплатная библиотека с открытым исходным кодом SNMP4j , которая проста в использовании и позволяет вам реализовать свой опрашиватель за считанные минуты (я бы даже сказал, что он гораздо более зрелый, чем расширение SNMP в PHP).

...