Yanıtlar:
Sorular biraz garip, sadece PHP için mi soruyorsun ya da sorunuz daha genel.
Size PHP tarafından kısa bir genel bakış sunacağım.
İlk olarak, iki protokol:
CGI komut dosyaları, bir HTTP isteği geldiğinde bir sunucu tarafı komut dosyasını çalıştırmanın bir yoludur; bunun PHP ile ilgisi yok
FastCGI "daha iyi bir CGI" dır - CGI'nın yavaş olduğu bilinir, Hızlı CGI çok daha hızlı sonuç veren farklı bir yaklaşımdır; Bunun PHP ile de ilgisi yok.
Şimdi PHP ilgili şeyler:
mod_php bir Apache modülü olarak bir PHP çalıştırıyor - bu PHP isteği Apache işlemi altında her şeyle birlikte çalıştırılıyor - Apache işlemleri Apache yapılandırması ile tanımlanıyor, PHP Apache izniyle çalışıyor.
PHP-FPM , PHP'nin FastCGI uygulamasıdır; PHP-FPM bağımsız bir FastCGI sunucusu olarak çalışır ve Apache, Apache'nin modülünü kullanarak, genellikle mod_fcgid veya mod_fastcgi; Şahsen bunun mod_php olarak çalışmaktan daha iyi olduğunu düşünüyorum, ancak gereksinimlerinize bağlı ve biraz daha karmaşık. Bu konfigürasyonda izin, işlemlerle ilgili işlemler ve her şey PHP konfigürasyonu, PHP kullanıcısı vb. altında çalıştırılır. Apache PHP'ye bir sunucuya bağlanır; Bu yapılandırmada, PHP sunucu havuzuna sahip olmak ve Apache'den fiziksel olarak farklı bir makinede PHP sunucusuna sahip olmak da mümkündür. Bunun Apache'nin modülünü kullanmak kadar hızlı olduğunu ve PHP yapılandırması üzerinde daha iyi kontrol sağlamanın faydaları olduğunu söylüyorlar.
SuPHP - bu çoğunlukla izinlerle ilgili mod_php'nin bazı sorunlarını çözmek için kullanılmıştır; mod_php ile PHP betikleri Apache kullanıcısı / grubu altında çalıştırılır; mod_suphp komut dosyalarını farklı kullanıcılarda çalıştırabilir; Hiç kullanmadım, PHP-FPM şimdi çok daha iyi bir seçim olmalı
Yani, temelde: