Burada yapmak için bir ayrım var: PHP bir web sunucusu değil. Bu nedenle, bir PHP komut dosyası uç web sunucusu (ya da en azından, çoğu zaman) gerçek sonuna kadar alakasız.
Sürekli IIS gibi, Apache veya Lighttpd kendilerini biten olmadan PHP komut yürütebilirsiniz, koşmak Web sunucusu yazılımı. Bu komut dosyaları, sonunda, do çalıştırmak için ateşkes. Web sunucuları komut dosyası için yürütme ortamı kurmak nasıl alınır yaklaşımlara bağlıdır. Bu tüm web sunucuyu tekrar her zaman kurmak etmese Örneğin, Apache 2 gerçekten, her web isteği için bir çocuk süreç spawn: yürütme ayarları ve parametreleri hakkında çocuklara komutları bir ana süreç var.
Web isteği sona erdiğinde bu nedenle, bir PHP komut dosyası biter; komut dosyası (bir ölümcül hata gibi bir exit deyimi veya benzeri) durdurmak veya komut kaynağının gerçek sonuna ulaştığında yapan bir bildiri ulaştığında olmasıdır.
EDIT yeni istekler için yeni bir süreç yumurtlama etkinliği hakkında.
Günümüzde, sunucular PHP kendisi için ayrı bir işlem spawn yok: onlar dili embed ve onunla çalışmak için PHP kitaplığı kullanın. Ancak, sunucular gerçekten de aldıkları her HTTP isteği için bir işlem spawn ücretsizdir. Apache onun mpm_prefork modülü ile yapar.
Yeni bir süreç yumurtlama gerçekten pahalı olsa da sadece bir işlem üretmekten çok, çok daha fazla olduğu, tenths of seconds sürebilir betiğin kendi maliyet ile karşılaştırıldığında, potansiyel bir şey değil.
Ayrıca, sunucular genellikle aynı anda birçok müşterilerine hizmet etmek için var; Bu nedenle, sadece her istek sırayla tedavi etmek düşünülemez. Onlar aynı anda çalıştırılması gerekir ve bu uygulamacılarıdır iki seçenek kalıyor: iplik veya süreçler. PHP parçacığı güvenli birçok platformda olmak, ayrı bir işlemde çalıştırmak için genellikle tercih değil.