Modos de funcionamiento del intérprete PHP
Una comparación de los modos de ejecución de PHP: mod_php, CGI, FastCGI y LSPHP.
PHP como módulo de Apache (mod_php)
En este modo, mod_php se carga directamente en Apache y está presente en cada proceso de Apache. Es la opción más adecuada para sitios pequeños con poco tráfico.
Ventajas:
- la ejecución de scripts más rápida en comparación con los demás modos;
- configuración sencilla — el servidor procesa los scripts por sí solo;
- un único archivo de configuración
php.inise aplica a todos los scripts; - los parámetros de PHP pueden definirse en la configuración de Apache o mediante
.htaccess.
Desventajas:
- todos los scripts se ejecutan bajo la cuenta de usuario del servidor web, por lo que los directorios que requieren acceso de escritura deben tener permisos de escritura para todos;
- cuando los scripts lanzan procesos externos (p. ej., envíos de correo), es imposible identificar qué usuario los desencadenó;
- el procesamiento de scripts añade carga a Apache y puede ralentizar la entrega de archivos estáticos;
- los errores en los scripts pueden provocar la caída del servidor web completo.
PHP como CGI
En este modo, se lanza un proceso php-cgi independiente para cada solicitud. Funciona bien para sitios mayoritariamente estáticos, ya que el intérprete solo se carga cuando es necesario — ahorrando RAM. El inconveniente es una ejecución más lenta, ya que debe iniciarse un nuevo proceso en cada solicitud.
Ventajas:
- los scripts se ejecutan bajo la cuenta de usuario del propietario del dominio;
- PHP puede configurarse de forma individual para cada usuario;
- menor consumo de memoria en comparación con
mod_php; - los errores en los scripts no provocan la caída del servidor web.
Desventajas:
- la autenticación PHP mediante
Header()puede no funcionar correctamente, ya que algunas variables del servidor no se pasan al script PHP.
Nuestros servicios y productos
PHP como FastCGI
FastCGI se sitúa entre mod_php y CGI — combina las ventajas de ambos modos y elimina el principal inconveniente de CGI. Un proceso handler persistente se mantiene en memoria, por lo que no es necesario lanzar un nuevo proceso en cada solicitud. En términos de velocidad, FastCGI es comparable a mod_php. Es la mejor opción para sitios de alto tráfico con un flujo constante de solicitudes.
Ventajas:
- los datos intermedios se almacenan en caché, por lo que los scripts no se reinterpretan en cada solicitud — más rápido que CGI;
- los scripts se ejecutan bajo la cuenta de usuario del propietario del dominio.
Desventajas:
- el proceso
php-cgipermanece en memoria tras la primera solicitud.
LSPHP
LiteSpeed PHP (LSPHP) está implementado como el módulo mod_lsapi para Apache y es la opción de ejecución de PHP más eficiente en servidores con cPanel.
Ventajas:
- procesamiento de scripts PHP más rápido;
- sin errores 500 causados por
php_flagy directivas similares en.htaccess— útil al migrar desde un hosting que usabamod_php; - menor consumo de recursos;
- mayor eficiencia del Opcode Cache.
Instalación de módulos PHP
Los módulos PHP se instalan a través del panel de control ISPmanager, en la sección PHP.
Ejecutar un script PHP desde cron
Para ejecutar un script PHP mediante el planificador cron, especifica la ruta completa al intérprete antes de la ruta del script:
/usr/bin/php-cgi /(ruta)/script.php
El script puede estar ubicado en cualquier directorio, incluidos los que no son accesibles por FTP.
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!