Tieme se esforçou muito em sua excelente resposta, mas acho que o principal da questão dos OPs é como essas tecnologias se relacionam com o PHP, e não como cada tecnologia funciona.
PHP é a linguagem mais usada no desenvolvimento web, além do óbvio cliente html, css e javascript. No entanto, o PHP tem dois grandes problemas quando se trata de aplicativos em tempo real:
1) O PHP começou como um CGI muito básico. O PHP progrediu muito desde o estágio inicial, mas aconteceu em pequenas etapas. O PHP já tinha muitos milhões de usuários quando se tornou a biblioteca C flexível e incorporável que é hoje, a maioria dos quais dependia de seu modelo anterior de execução, portanto ainda não fez uma tentativa sólida de escapar do modelo cgi internamente. Até a interface da linha de comando chama a biblioteca PHP (libphp5.so no linux, php5ts.dll no Windows, etc) como se ainda fosse um cgi processando uma solicitação GET / POST. Ele ainda executa o código como se tivesse que criar uma "página" e encerrar seu ciclo de vida. Como resultado, ele tem muito pouco suporte para programação multithread ou orientada a eventos (no espaço de usuário PHP), tornando-o atualmente impraticável para aplicativos multiusuário de tempo real.
Observe que o PHP possui extensões para fornecer loops de eventos (como libevent) e threads (como pthreads) no espaço do usuário do PHP, mas muito, muito, poucas aplicações os utilizam.
2) O PHP ainda tem problemas significativos com a coleta de lixo. Embora esses problemas tenham melhorado de maneira consistente (provavelmente é a melhor etapa para terminar o ciclo de vida, conforme descrito acima), mesmo as melhores tentativas de criar aplicativos PHP de execução longa exigem a reinicialização regular. Isso também o torna impraticável para aplicativos em tempo real.
O PHP 7 também será um ótimo passo para corrigir esses problemas e parece muito promissor como plataforma para aplicativos em tempo real.