Tieme mükemmel cevabına çok çaba sarf etti, ancak bence OPs sorununun özü, bu teknolojilerin her teknolojinin nasıl çalıştığından ziyade PHP ile nasıl ilişkili olduğu.
PHP, bariz istemci tarafı html, css ve javascript'in yanı sıra web geliştirmede en çok kullanılan dildir. Gerçek zamanlı uygulamalar söz konusu olduğunda PHP'nin 2 önemli sorunu vardır:
1) PHP çok temel bir CGI olarak başladı. PHP, ilk aşamasından beri çok ilerledi, ancak küçük adımlarla oldu. PHP, bugün olduğu gömülü ve esnek C kütüphanesi haline geldiğinde milyonlarca kullanıcıya sahipti, çoğu daha önceki yürütme modeline bağlıydı, bu yüzden henüz kaçmak için sağlam bir girişimde bulunmadı. dahili cgi modeli. Komut satırı arabirimi bile PHP kütüphanesini (linux üzerinde libphp5.so, windows üzerinde php5ts.dll, vb.) Hala bir GET / POST isteğini işleyen bir cgi gibi çağırır. Hala bir "sayfa" oluşturmak ve sonra da yaşam döngüsünü bitirmek zorunda gibi kod yürütür. Sonuç olarak, çok iş parçacıklı veya olay güdümlü programlama (PHP kullanıcı alanı içinde) için çok az desteği vardır, bu da onu gerçek zamanlı, çok kullanıcılı uygulamalar için pratik değildir.
PHP'nin PHP kullanıcı alanında olay döngüleri (libevent gibi) ve iş parçacıkları (pthreads gibi) sağlayacak uzantılara sahip olduğunu, ancak uygulamaların çok azının bunları kullandığını unutmayın.
2) PHP'nin hala çöp toplama konusunda önemli sorunları var. Bu sorunlar sürekli olarak gelişmesine rağmen (muhtemelen yukarıda açıklandığı gibi yaşam döngüsünü sonlandırmak için en büyük adımdır), uzun süren PHP uygulamaları yaratmaya yönelik en iyi denemeler bile düzenli olarak yeniden başlatılmayı gerektirir. Bu aynı zamanda gerçek zamanlı uygulamalar için kullanışsız hale getirir.
PHP 7 de bu sorunları çözmek için harika bir adım olacak ve gerçek zamanlı uygulamalar için bir platform olarak çok umut verici görünüyor.