Веб-сервер с PHP

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

Пока все работает достаточно хорошо. Я использую phpws в качестве библиотеки веб-сокетов и Doctrine DBAL для доступа к различным системам баз данных; PHP версии 5.3.8. Сервер должен обслуживать максимум 30 клиентов. Тем не менее, особенно в последние дни, я прочитал несколько статей, в которых говорится о неэффективности PHP для долго работающих приложений.

Теперь я не знаю, следует ли мне продолжать использовать веб-сокеты с PHP или перестраивать все серверное приложение. Я пробовал Python с Socket.IO, но не получил ожидаемых результатов.

Думаю, у меня есть следующие варианты:

  • Держите все как есть.
  • Заставьте приложение использовать Ajax в сочетании с Socket.IO -, например. запустите сценарий на стороне сервера, который вызывает клиентские вызовы ajax, когда данные отправляются на сервер.

Последний пункт звучит довольно интересно, хотя это потребует некоторой работы. Будет ли проблема для серверов выполнять все запросы клиентов одновременно?

Что ты посоветуешь? Является ли проблема с управлением памятью PHP (, которую я использую gc _collect каждый раз, когда клиент отправляет данные на сервер ), все еще актуальна? Существуют ли другие причины, помимо очевидных причин (отсутствия потоков,... )отказа от использования PHP в качестве сервера?

5
задан lukew 17 August 2012 в 13:28
поделиться