Tieme ha fatto molti sforzi nella sua eccellente risposta, ma penso che il nocciolo della questione dei PO sia come queste tecnologie si relazionano al PHP piuttosto che come ciascuna tecnologia funziona.
PHP è il linguaggio più utilizzato nello sviluppo web oltre all'ovvio lato client html, css e javascript. Tuttavia PHP ha 2 problemi principali quando si tratta di applicazioni in tempo reale:
1) PHP è iniziato come un CGI di base. PHP è progredito molto lontano dalla sua fase iniziale, ma è accaduto a piccoli passi. PHP aveva già molti milioni di utenti quando è diventata la libreria C incorporabile e flessibile che è oggi, la maggior parte dei quali dipendeva dal suo precedente modello di esecuzione, quindi non ha ancora fatto un solido tentativo di sfuggire al modello cgi internamente. Anche l'interfaccia a riga di comando richiama la libreria PHP (libphp5.so su Linux, php5ts.dll su Windows, ecc.) Come se fosse ancora un cgi che elabora una richiesta GET / POST. Esegue comunque il codice come se dovesse solo creare una "pagina" e quindi terminare il suo ciclo di vita. Di conseguenza, ha pochissimo supporto per la programmazione multi-thread o guidata dagli eventi (all'interno dello spazio utente di PHP), rendendolo attualmente poco pratico per applicazioni multiutente in tempo reale.
Nota che PHP ha estensioni per fornire loop di eventi (come libevent) e thread (come pthreads) nello spazio utenti di PHP, ma molto, molto, poche applicazioni li usano.
2) PHP ha ancora problemi significativi con la garbage collection. Sebbene questi problemi siano costantemente migliorati (probabilmente è il passo più importante per terminare il ciclo di vita come descritto sopra), anche i migliori tentativi di creare applicazioni PHP di lunga durata richiedono il riavvio su base regolare. Ciò lo rende anche poco pratico per le applicazioni in tempo reale.
PHP 7 sarà un grande passo per risolvere anche questi problemi e sembra molto promettente come piattaforma per applicazioni in tempo reale.