¿Cómo se pueden lograr aplicaciones web en tiempo real con PHP?

No necesita construir su servidor cometa utilizando la misma tecnología que el resto de su sitio.

Construyo aplicaciones en Django, que no es realmente adecuado para el cometa debido a su expectativa fundamental de que un ciclo de solicitud / respuesta HTTP regrese inmediatamente en lugar de bloquear. Si estaba construyendo una aplicación de cometa, tendría el sitio principal atendido por Django y luego ejecutaría un servidor Node.js o Twisted o Tornado en un subdominio separado (comet.example.com) y mis llamadas de cometa serán atendidas por eso.

Quora hace algo similar a esto: si ejecuta Firebug o similar, puede ver que los servidores cometa de Quora se ejecutan en subdominios con nombres como tch972015.tch.www.quora.com. Esto también hace que sea más fácil escalar el material de su cometa, ya que puede encender más servidores en más subdominios; ni siquiera necesita equilibrar la carga (aunque probablemente debería). Creo que usan la misma pila de Python para Comet y el sitio principal, pero no hay razón para que tenga que hacerlo.

Si desea en tiempo real y no solo encuestas con intervalos cortos con AJAX, debe mirar XMPP, que se utiliza para implementar la mensajería instantánea, por ejemplo, en la mensajería instantánea basada en web de Facebook.

http://en.wikipedia.org/wiki/Ext

Comet es la palabra de moda desagradable que estás buscando. El sondeo largo de Ajax es un truco para lograr la funcionalidad que desea, pero los sitios web realmente en tiempo real usan websockets y varios otros recursos para mantener una conexión abierta entre el servidor y el navegador. No puedo decir que haya visto mucho de eso usando PHP (vale la pena mirar Python, Ruby, Node.js, Java para estas cosas) y ciertamente no quieres usar Apache.

Apache tiene un costo bastante alto (en uso de memoria) por conexión abierta, y tendrá una conexión abierta con todos en el sitio, incluso si no están haciendo nada y han dejado el trabajo por el día.

Es común usar algo como Ape, Netty, Socket.io u Orbited para hacer esto.

También tenga en cuenta que no es tan trivial para el equilibrio de carga y el firewall este tipo de tráfico.