¿Cuáles son las diferencias entre mod_php y cgi php script?¿Cuáles son las diferencias entre mod_php y cgi php script?
Quiero decir, ¿por qué es mejor (¿es?) Utilizar mod_php en lugar de simples scripts php, ejecutándolos como CGI?
Gracias
¿Cuáles son las diferencias entre mod_php y cgi php script?¿Cuáles son las diferencias entre mod_php y cgi php script?
Quiero decir, ¿por qué es mejor (¿es?) Utilizar mod_php en lugar de simples scripts php, ejecutándolos como CGI?
Gracias
Al utilizar CGI: un proceso PHP es lanzado por Apache, y es que el proceso PHP que interpreta el código PHP - Apache no sí.
En teoría, se debe crear un proceso de PHP distinto para cada solicitud, lo que hace las cosas más lentas: Apache tiene más trabajo por hacer para responder a una solicitud.
(Bueno, como ha señalado @ AlReece45 en un comentario, esto se puede hacer un mejor uso de FastCGI)
Cuando se usa PHP como un módulo de Apache (mod_php
o mod_php5
), el intérprete de PHP es tipo de "incrustado" dentro del proceso Apache: no hay un proceso PHP externo.
Lo que significa:
En general, yo diría que mod_php
es la solución eso es lo que más se usa.
Ingrese a la derecha de la etapa, FastCGI. FastCGI tiene las ventajas de CGI y escala mucho mejor. :) mod_php puede ser muerte en un servidor cargado. – Xorlev
@Xorlev para el servidor cargado, piense en nginx + phpfpm;) –
¡php en cualquier forma puede causar la muerte para la humanidad! ;-) –
Normal CGI requiere que se genere el proceso para cada solicitud en el momento de la solicitud.
mod_php requiere que usted use apache hinchado en lugar de slick nginx o lighttpd. Además, "una mejor comunicación entre Apache y PHP" mencionada por Pascal puede dañar a apache (daña a cualquiera que se desarrolle en php! ;-)).
FastCGI le permite separar php del servidor web (posiblemente lo ejecute en el host diferente).
Además, php.net acaba de publicar una vulnerabilidad actual, donde la divulgación del código fuente es posible si está utilizando mod_cgi
ejecutar PHP y su versión de PHP es más antigua que PHP 5.3.12 oPHP 5.4.2.
http://www.php.net/archive/2012.php#id2012-05-03-1
Patch mediante la actualización o la aplicación de una regla mod_rewrite
.
También puede ejecutar PHP usando FastCGI que elimina la mayor parte de la sobrecarga de CGI, y le permite ejecutar un MPM apache enmascarado (PHP tiende a no gustar MPM roscados) – Reece45
@ Reece45, MPM? – Pacerier
@Pacerier Es un apache específico módulo (módulo de procesamiento múltiple) que implementa diferentes métodos para manejar múltiples solicitudes a la vez. Consulte http://httpd.apache.org/docs/2.4/mpm.html para obtener más detalles. – Reece45