На нем, как оказывается, высокоуровневый сервер аппликаций не сбацаешь, и даже аппроксимацию такового не сделаешь.
Есть задача. Надо, чтобы напичканная аяксом клиентская страничка моментально реагировала на события, происходящие на сервере. Иногда события бывают по пару раз в минуту, иногда по разу в день. Дергать запросы ежесекундно нельзя — неэффективно и будет тормозить, да и мусорный траффик будет ого-го. Опять-таки, дергать раз в день или по запросу — плохо, возможно, придется иметь дело с устаревшими данными.
У нормальных ребят с нормальными инструментами дело решается довольно-таки просто. Аяксом клиент делает conduit request к серверу, и тот держит соединение до тех пор, пока не придет событие. С помощью keep-alive'ов, например (или идет пересоединение после таймаута, если HTTP/1.0). Когда приходит событие, сервер отдает его и закрывает соединение. Клиентский скрипт дергает обработчики событий, но перед этим сразу же запускает следующий conduit request.
Так, например, работает Google talk в вебовском исполнении.
Но так как PHP рассчитан на модель «дернули-отдал контент-пшел вон», а persistence в нем сделан через то место, о котором вы только что не подумали, то такие вот conduit-request'ы там нереализуемы в принципе.
Это говорит о том, что как только они понадобятся, придется проект переделывать с PHP+Symfony на Python+Twisted.
Гы... Как там гласит один из основополагающих принципов — Don't Repeat Yourself, да?