Важно помнить, что сервер веб-сокетов в режиме реального времени должен быть «долгосрочным», чтобы он мог передавать данные клиентам.В классической настройке LAMP Apache порождает интерпретатор PHP при каждом запросе.Между запросами не работает интерпретатор PHP, и единственное состояние протокола, поддерживаемое между запросами, это сеансы.
Хорошим свойством LAMP является простота управления памятью.Вы просто неявно выделяете всю необходимую вам память, и она автоматически восстанавливается, когда запрос выполнен, и процесс PHP завершается.Как только вы хотите, чтобы сервер продолжал работать, вы должны рассмотреть возможность управления памятью.В некоторых языках, таких как C ++, вы управляете выделением и освобождением явно.В других языках, таких как Java или Javascript, у вас есть сборка мусора.В PHP вы все выбрасываете и начинаете с каждого нового запроса.
Я думаю, вам будет трудно создавать долго работающие серверы с чем-то вроде Cake или любой другой классической PHP-средой.Эти фреймворки работают, в основном, принимая HTTP-запрос и превращая его в HTTP-ответ.
Я советую вам взглянуть на что-то вроде Node.JS и SocketIO.Если вы знаете Javascript или не против изучения, эти технологии позволяют легко внедрять серверы и клиенты в реальном времени.При необходимости вы можете запустить обратный прокси-сервер, такой как nginx, чтобы ваш существующий стек LAMP получал некоторые запросы, а один или несколько серверов NodeJS получали бы некоторые.
Этот ответ получился немного пушистым, но я надеюсь, чтоэто немного помогает ..: -)