1

Возникла такая проблема. Написал сервер-клиентское приложение с передачей данных по 2-стороннему соединению websockets. Работает это так. Я запускаю php файл из консоли, затем обновляю html-страницу и соединение устанавливается. Однако. Как только я пытаюсь перезагрузить страницу, соединение слетает и нужно делать рестарт php-файла с websockets. Возможно ли сделать так, чтобы данный процесс запускался на сервере (Apache) автоматически и при перезагрузке страницы переустанавливал соединение без ручного рестарта?

Заранее спасибо!

luxor
  • 291
  • Видимо сначала скрипт весит в режиме ожидания клиента, потом общается с ним. И после завершения соединения скрипт также завершается. Алсо, без кода мы ничем не поможем. – lampa Jan 26 '13 at 09:20
  • В том-то и дело, что он не завершался как надо. Но сейчас вроде разобрался. В любом случае спасибо за ответы! – luxor Jan 26 '13 at 09:44
  • Под Apache не существует True FastCGI решения. Если решили что-то своё писать, то php-fpm (Nginx) Вам в помощь, но не mod_php. Существуют множество уже готовых демонов: NodeJS (JS), PhpDaemon (PHP), dklab_realplexor (PHP) - только Long Polling, Tornado (Python)... – romeo Jan 26 '13 at 20:13

2 Answers2

1

Решить проблему можно запуском демона на серваке. Если сервак на Linux, то надо просто подключиться по ssh и запустить ваш скрипт или через cli.

Если нет желания мучатся с конфигом то вот пример того как я запуская его на центосе:

nohup /usr/bin/php -f <тут путь к серверу>
Denis
  • 8,910
  • 11
  • 31
  • 55
0

Я может не в тему скажу, но настоятельно советую использовать для этого nodejs. Вам будет намного удобней. Установка займёт пару минут. И очень просто написать сервер.

Bender
  • 300
  • 1
    да я бы не сказал. Вы во-первых предлагаете ТС перейти на другой язык, во вторых говорите неправду про пару минут. – lampa Jan 26 '13 at 09:38
  • На самом деле я немного поторопился. причина была видимо в цикле while, который крутился на сервере. – luxor Jan 26 '13 at 09:42
  • 1
    Насчет нового языка - не проблема. И js и java я знаю. Но насчет пары минут, да, обычно с новой технологией всё равно приходится повозиться поначалу, если, конечно, не просто копипастить откуда-то. Но потом и не настроишь как надо. – luxor Jan 26 '13 at 09:43
  • @luxor если знаешь java - то зачем для этих целей php? в tomcat есть ws из коробки. всё готовое , проверенное. работает стабильно, рекомендую. – Вадим Jul 09 '18 at 17:24