Mientras seguía un tutorial de Zend , encontré la siguiente declaración:
Tenga en cuenta que la configuración de php_flag en .htaccess solo funciona si está utilizando mod_php.
¿Alguien puede explicar qué significa eso?
Mientras seguía un tutorial de Zend , encontré la siguiente declaración:
Tenga en cuenta que la configuración de php_flag en .htaccess solo funciona si está utilizando mod_php.
¿Alguien puede explicar qué significa eso?
Respuestas:
mod_php
significa PHP, como módulo de Apache .
Básicamente, cuando se carga mod_php
como un módulo de Apache, le permite a Apache interpretar archivos PHP (estos son interpretados por mod_php
) .
EDITAR: Hay (al menos) dos formas de ejecutar PHP, cuando se trabaja con Apache:
mod_php
) : el intérprete de PHP está entonces como "incrustado" dentro del proceso de Apache: no hay un proceso de PHP externo, lo que significa que Apache y PHP pueden comunicarse mejor.
Y vuelva a editar, después del comentario : usando CGI o mod_php
depende de usted: es solo una cuestión de configuración de su servidor web.
Para saber qué forma se usa actualmente en su servidor, puede verificar la salida de phpinfo()
: debe haber algo que indique si PHP se está ejecutando a través de mod_php
(o mod_php5
) , o mediante CGI.
También es posible que desee echar un vistazo a la php_sapi_name()
función: devuelve el tipo de interfaz entre el servidor web y PHP .
Si verifica los archivos de configuración de Apache, cuando lo use mod_php
, debería haber una LoadModule
línea como esta:
LoadModule php5_module modules/libphp5.so
(El nombre del archivo, a la derecha, puede ser diferente; en Windows, por ejemplo, debería ser a .dll
)
mod_php
es, con mucho, la configuración más común.
mod_php
que no es PHP real; es solo un complemento de Apache. O más bien, creo que debería comenzar la respuesta con una definición de ¿Qué significa exactamente PHP?
Esta respuesta está tomada de TuxRadar :
Al ejecutar PHP a través de su servidor web, hay dos opciones distintas: ejecutarlo utilizando CGI SAPI de PHP o ejecutarlo como un módulo para el servidor web. Cada uno tiene sus propios beneficios, pero, en general, se prefiere el módulo.
Ejecutar PHP como CGI significa que básicamente le dice a su servidor web la ubicación del archivo ejecutable PHP, y el servidor ejecuta ese ejecutable, dándole el script que llamó, cada vez que visita una página. Eso significa que cada vez que carga una página, PHP necesita leer php.ini y establecer su configuración, necesita cargar todas sus extensiones, y luego necesita empezar a trabajar analizando el script - hay mucho trabajo repetido.
Cuando ejecuta PHP como un módulo, PHP se encuentra literalmente dentro de su servidor web: se inicia solo una vez, carga sus configuraciones y extensiones solo una vez y también puede almacenar información entre sesiones. Por ejemplo, los aceleradores de PHP dependen de que PHP pueda guardar datos almacenados en caché a través de solicitudes, lo cual es imposible con la versión CGI.
La ventaja obvia de usar PHP como módulo es la velocidad: verá un gran aumento de velocidad si convierte de CGI a un módulo. Muchas personas, en particular los usuarios de Windows, no se dan cuenta de esto y continúan usando php.exe CGI SAPI, lo cual es una pena: el módulo suele ser de tres a cinco veces más rápido.
Sin embargo, hay una ventaja clave de usar la versión CGI y es que PHP lee sus configuraciones cada vez que carga una página. Con PHP ejecutándose como un módulo, cualquier cambio que realice en el archivo php.ini no se activará hasta que reinicie su servidor web, lo que hace que la versión CGI sea preferible si está probando muchas configuraciones nuevas y desea ver respuestas instantáneas.
Su servidor necesita tener los módulos php instalados para que pueda analizar el código php.
Si está en ubuntu, puede hacerlo fácilmente con
sudo apt-get install apache2
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5
sudo /etc/init.d/apache2 restart
De lo contrario, puede compilar apache con php: http://dan.drydog.com/apache2php.html
Especificar el sistema operativo de su servidor ayudará a otros a responder más específicamente.
Significa que debe tener PHP instalado como un módulo en Apache, en lugar de iniciarlo como un script CGI.
Solo para agregar estas respuestas es que mod_php es el método más antiguo y más lento disponible en el servidor HTTPD para usar PHP. No se recomienda, a menos que esté ejecutando versiones antiguas de Apache HTTPD y PHP. php-fpm y proxy_cgi son los métodos preferidos.