LINUX.ORG.RU

Как сделать php скрипт как службу и обращаться к нему?

 ,


0

1

Приветствую

Скажите как php скрипт запустить как службу. А потом обратится к ней и передать параметры. Скрипт демон обработает их и выдаст результат.

например в консоли

getcountry 23.34.56.17

и выводит результат.

скрипт есть. все работает. задача сделать ето как службу или демон. не знаю как правильно это называется

А зачем тебе это как «демон» если это у тебя обычный скрипт которому похоже не нужно быть запущенным на постоянку. Используй как обычный бинарник, добавь в $PATH путь до него и будешь запускать где хочешь.

Noob_Linux ★★★★
()

Скрипт демон обработает их и выдаст результат.

демон

выдаст результат

Куда выдаст-то? В логи что ли надо?

задача сделать ето как службу или демон. не знаю как правильно это называется

Надо узнать. Или хотя бы объяснить, что именно хочется. Потому что пока нифига не понятно (остальным тоже, судя по ответам).

Может тебе cron нужен, и скрипт запускать каждые несколько минут, с выводом результата в файл?

Или что?

Скрипт же завершается и выводит результат, что тут вообще демонизировать и зачем?

CrX ★★★★★
()

есть колокольчик

например трясёшь — он звон издаёт

колокольчик есть. все работает. задача сделать ето как будильник или метроном. не знаю как правильно это называется

CrX ★★★★★
()

в скрипте делаешь вечный цикл, и в нем засыпаешь на 1 сек. внедряешь в скрипт обработчик сигналов от ОС и вешаешь обработчик на SIGHUP. в директории со скриптом (не обязательно) создаешь файл command в него втыкаешь строку «getcountry 23.34.56.17». в обработчике SIGHUP считываешь содержимое файла command парсишь/сравниваешь и далее делаешь что хочешь. затем удаляешь файл. захотел дать команду - пишешь в файл команду, посылаешь php демону SIGHUP

Vlad-76 ★★★★
()

подключаешь к php либу, которая умеет создавать unix socket

помниться была книжка по UNIX IPC (inter proccess communication)

могу еще способ подкинуть пишешь скрипт в котором читаешь STDIN. и делаешь из него по типу telnet server. telnet server под линукс на самом деле не умеет слушать TCP сокет, он работает совместно с inetd приблудой (/etc/inetd.conf). Вам остается в вечном цикле скрипта читать STDIN (обрабатывать ввод команд) и обрабатывать их. Подключаться к скрипту telnet ом. вывод скрипта в STDOUT

Vlad-76 ★★★★
()
Последнее исправление: Vlad-76 (всего исправлений: 2)

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

Дальше в шебанг прописываешь путь к интерпретатору PHP и делаешь файл исполняемым (chmod +x).

Wizard_ ★★★★★
()