Jakie są różnice między skryptem mod_php i cgi php?Jakie są różnice między skryptem mod_php i cgi php?
Chodzi mi o to, dlaczego lepiej (jest to?) Używać mod_php zamiast prostych skryptów php, uruchamiając je jako CGI?
Dzięki
Jakie są różnice między skryptem mod_php i cgi php?Jakie są różnice między skryptem mod_php i cgi php?
Chodzi mi o to, dlaczego lepiej (jest to?) Używać mod_php zamiast prostych skryptów php, uruchamiając je jako CGI?
Dzięki
Podczas używania CGI: proces PHP jest uruchamiany przez Apache i PHP jest to, że proces, który interpretuje kod PHP - nie Apache sama.
Teoretycznie należy utworzyć oddzielny proces PHP dla każdego żądania - co powoduje spowolnienie: Apache ma więcej pracy, aby odpowiedzieć na żądanie.
(dobrze, jak podkreślił @ AlReece45 w komentarzu, to mogą być wykonane lepiej używając FastCGI)
Kiedy PHP jako moduł Apache (mod_php
lub mod_php5
), interpreter PHP jest typu "osadzony" wewnątrz procesu Apache: nie ma zewnętrznego procesu PHP.
Co oznacza:
Ogólnie rzecz biorąc, chciałbym powiedzieć, że mod_php
jest rozwiązaniem to jest najczęściej używane.
Wprowadź etap w prawo, FastCGI. FastCGI ma zalety CGI i znacznie lepiej skaluje. :) mod_php może być śmiercią na załadowanym serwerze. – Xorlev
@Xorlev dla załadowanego serwera, myśl o nginx + phpfpm;) –
php w jakiejkolwiek formie może spowodować śmierć ludzkości! ;-) –
Zwykły CGI wymaga, aby proces był tworzony dla każdego żądania w momencie żądania.
mod_php wymaga użycia nadętego apache zamiast slick nginx lub lighttpd. Poza tym "lepsza komunikacja między Apache i PHP" wspomniana przez Pascala może zaszkodzić apache (szkodzi każdemu, kto rozwija się w php ;-)).
FastCGI pozwala oddzielić php od serwera WWW (ewentualnie uruchomić go na innym hoście).
Również php.net właśnie wydała lukę dziś, jeśli ujawnienie kodu źródłowego jest możliwe, jeśli używasz mod_cgi
uruchomić PHP i twoja wersja PHP jest starszy niż PHP 5.3.12 lub PHP 5.4.2.
http://www.php.net/archive/2012.php#id2012-05-03-1
patch poprzez modernizację lub nakładanie mod_rewrite
regułę.
Można również uruchomić PHP przy użyciu FastCGI, która eliminuje większość napowietrznych CGI, i pozwala na uruchomienie gwintowaną apache MPM (PHP zazwyczaj nie lubić gwintowane MPMS) – Reece45
@ Reece45 MPM? ͏͏͏͏͏͏͏͏͏͏ – Pacerier
@Pacerier Its Apache specyficznych module (Multi-Processing Module), który implementuje różne metody obsługi wielu żądań naraz. Więcej informacji można znaleźć na stronie http://httpd.apache.org/docs/2.4/mpm.html. – Reece45