Risposte:
Usando mod_php ogni lavoratore Apache ha caricato l'intero interprete PHP. Poiché Apache necessita di un processo di lavoro per ogni richiesta in arrivo, puoi rapidamente finire con centinaia di lavoratori di Apache in uso, ognuno con il proprio interprete PHP caricato, consumando enormi quantità di memoria.
(Nota, questo non è esattamente vero, Apache worker_mpm
ti consente di servire molte richieste con un singolo lavoratore Apache con thread. Tuttavia, anche nel 2009, questo non è il modo raccomandato per distribuire PHP a causa di sospetti problemi di threading con le estensioni PHP.)
Usando PHP in modalità fast_cgi (usando qualcosa come spawn-fcgi dal pacchetto lighttpd) ha i seguenti vantaggi
FastCGI significa che i bit php non sono in esecuzione nello stesso processo dei bit apache, a differenza di mod_php. Questa separazione può avere alcuni chiari vantaggi quando si tratta di riavviare il server o gestire le applicazioni in fuga - nel caso mod_php ciò significa che è il processo di apache che è "in fuga", ma in fastcgi è solo un processo con cui Apache sta parlando, quindi l'intero server non deve essere rimosso.
Un altro vantaggio non ancora menzionato è il fatto che con mod_fcgid
(che è un'implementazione più recente per l'utilizzo di FastCGI su Apache) e suexec è possibile realizzare configurazioni in cui vhosts diversi utilizzano utenti Linux diversi per l'esecuzione, che può essere un vero vantaggio di sicurezza in uno szenario di hosting condiviso .
Con mod_php, tutti i vhosts condividono lo stesso utente, che è l'utente di Apache. Ciò può causare problemi di sicurezza.