Если вы хотите использовать PHP в качестве своей бэкэнд-технологии, то это будет нелегкая борьба. Прочитайте этот вопрос по параллелизму - Как реализовать прослушивание событий в PHP для получения дополнительной информации.
Самое простое решение для разработчиков PHP, на мой взгляд, это использовать размещенный в реальном времени сервис, такой как Pusher - для которого я работаю. Это означает, что вам не нужно беспокоиться об установке или обслуживании вашей веб-инфраструктуры в реальном времени, а главное - вам не нужно беспокоиться о том, что ваш сервер обрабатывает постоянные параллельные соединения. Вы используете JavaScript-библиотеку Pusher, подключающуюся к Pusher из веб-браузера, поддерживающую постоянное соединение и получающую все обновления, отправленные на него, и API-интерфейс REST Pusher для публикации данных из вашего приложения PHP через Pusher для подключенных клиентов.
Есть начало работы с руководством Pusher по Nettuts + , которое было очень популярно и является хорошей отправной точкой для любого, кто использует PHP.
Если вы действительно хотите разместить свою собственную инфраструктуру реального времени на PHP (не говорите, что я вас не предупреждал), вы можете посмотреть Как реализовать PHP с помощью Comet и PHP WebSockets (есть также проект на github с недавней активностью, который называется php-websocket-server ).