Controladores PHP | Documentación de cPanel y WHM

Controladores PHP


Última modificación: 3 de diciembre de 2020

Visión general

Los controladores PHP, un tipo de módulo Apache, contienen bibliotecas que el servidor web Apache utiliza para interpretar y ejecutar código PHP.

los /etc/apache2/conf.d/php.conf El archivo de configuración contiene las directivas globales que configuran los controladores de aplicaciones PHP de Apache. Un comando de inclusión en el archivo de configuración de Apache (httpd.conf) carga el php.conf archivo de configuración para que los controladores se carguen al inicio.

Cambia tu controlador PHP

Cambie su controlador PHP en el Controladores PHP sección de WHM Administrador de MultiPHP interfaz (WHM >> Inicio >> Software >> MultiPHP Manager) o utilice el rebuild_phpconf texto.

Controladores PHP

De forma predeterminada, cPanel & WHM ofrece seis controladores PHP. Cada controlador difiere en sus archivos e implementación, lo que afecta la rapidez y seguridad con que Apache maneja las solicitudes PHP.

CGI

El controlador CGI ejecuta aplicaciones PHP a través del mod_cgi o la mod_cgid Módulos de Apache. Si instala el módulo suEXEC, el sistema ejecuta aplicaciones PHP como el usuario propietario del VirtualHost que atendió la solicitud. Si desinstala el módulo suEXEC, el sistema ejecuta aplicaciones PHP como nobody usuario del sistema. El sistema proporciona mod_cgi y mod_ruid2 por defecto.

Puede personalizar la configuración del controlador CGI en PHP .user.ini expediente. Un dominio hereda estas personalizaciones si configura el dominio en Heredar en WHM’s Administrador de MultiPHP interfaz (WHM >> Inicio >> Software >> MultiPHP Manager). Para obtener más información, lea nuestro Herencia PHP documentación.

Importante:

  • Si tu habilitar un módulo por usuario, como suEXEC o Ruid2, puede ejecutar scripts PHP con permisos de 0400.
  • Si tu desactivar un módulo por usuario, como suEXEC o Ruid2, puede ejecutar scripts PHP con permisos de 0444.
  • usted no poder utilizar directivas de Apache (por ejemplo, el php_value directiva) con la mod_cgi o la mod_cgid Módulos de Apache. usted debe usar una costumbre php.ini archivo en su lugar.
  • Si usa el mod_cgi o la mod_cgid Módulos de Apache, usted no poder establecer encabezados de respuesta en un .htaccess expediente. Para establecer encabezados de respuesta en un .htaccess archivo, usted debe utilizar el FPM o suPHP Módulos de Apache.

DSO

El controlador DSO incorpora el lenguaje PHP dentro del servidor web Apache. DSO le permite utilizar directivas de Apache (por ejemplo, el php_value y php_admin_value directivas). Si lo haces no usa DSO, tu no poder utilizar estas directivas en un .htaccess expediente. El controlador DSO requiere el módulo MPM Prefork Apache. Las aplicaciones PHP se ejecutan como nobody usuario cuando usa el controlador DSO PHP, a menos que use el mod_mpm_itk o mod_ruid2 Módulos de Apache.

Nota:

Si los scripts PHP se ejecutan como nobody usuario, tu no poder Identifique fácilmente la cuenta de usuario que ejecutó el script y los usuarios no autorizados pueden ver sus datos.

EasyApache 4 hace no incluir el controlador DSO de forma predeterminada. Para usar el controlador DSO, instale el paquete PHP que desea usar.

Puede instalar el paquete PHP DSO en el Extensiones PHP sección de WHM EasyApache 4 interfaz (WHM >> Hogar >> Software >> EasyApache 4).

Advertencia:

  • Solo puede usar DSO como controlador para uno versión de PHP en su sistema.
  • cPanel & WHM hace no admite DSO con PHP 8.
  • El nombre para mostrar del manejador no contener el texto DSO. Por ejemplo, el DSO para PHP 7.0 aparece como php70-php.
  • A menos que utilice un módulo por usuario como Ruid2 o ITK, sus scripts PHP debe tener permisos de al menos 0644 ejecutar. Los scripts PHP que se ejecutan bajo DSO crean archivos como nobody usuario. los nobody usuario debe tener permisos suficientes para acceder y leer los archivos PHP y permisos para escribir en los archivos y directorios a los que afecta el script.

Administrador de procesos FastCGI (FPM)

FastCGI sirve aplicaciones PHP a través de mod_proxy_fcgi Módulo Apache. Este método es rápido, pero puede requerir cambios en las directivas FastCGI para que funcione de manera eficiente. La implementación de FastCGI Process Manager (PHP-FPM) de FastCGI incluye administración de procesos, reinicios de emergencia y restricción de direcciones IP. Para obtener más información sobre FPM, lea nuestro PHP-FPM documentación.

EasyApache 4 incluye el mod_proxy_fcgi Módulo Apache por defecto. Puede instalar el mod_proxy_fcgi Módulo Apache en el Módulos de Apache sección de WHM EasyApache 4 interfaz (WHM >> Hogar >> Software >> EasyApache 4).

Puede personalizar la configuración del controlador CGI en PHP .user.ini expediente. Un dominio hereda estas personalizaciones si configura el dominio en Heredar en WHM’s Administrador de MultiPHP interfaz (WHM >> Hogar >> Software >> Administrador de MultiPHP). Para obtener más información, lea nuestro Herencia PHP documentación.

Demonio FCGI (FCGId)

FCGId sirve aplicaciones PHP a través de mod_fcgid Módulo Apache. los mod_fcgid El módulo Apache proporciona una alternativa al mod_cgi Módulo Apache. FCGId lanza múltiples instancias de un programa para permitir que el sistema maneje múltiples solicitudes concurrentes.

Advertencia:

  • los mod_fcgid El módulo de Apache es no compatible con MultiPHP antes de cPanel y WHM versión 74.
  • En sistemas que ejecutan cPanel & WHM versión 76 o anterior, si su versión predeterminada de PHP usa FCGId, entonces todos Las versiones de PHP usarán FCGId.
  • Recomendamos el mod_fcgid Módulo Apache solamente para administradores de sistemas avanzados que entienden cómo modificar el rendimiento del mod_fcgid Módulo Apache.
  • los mod_fcgid El módulo de Apache es no compatible con el mod_ruid2 o mod_mpm_itk Módulos de Apache.

Para obtener más información, lea nuestro Módulo Apache: FCGId documentación.

LSAPI

LSAPI proporciona una forma rápida y estable de servir aplicaciones PHP. La versión de LSAPI de cPanel & WHM difiere de la que proporciona CloudLinux. Esta versión deshabilita Checkpoint / Restore in Userspace (CRIU), agrupación de conexiones y preservación de opcache.

Nota:

Para utilizar la funcionalidad completa de este controlador, su sistema debe ejecute CloudLinux. Para obtener más información, lea Cloudlinux’s Apache mod_lsapi documentación.

EasyApache 4 incluye el mod_lsapi Módulo Apache por defecto. Puede instalar el mod_lsapi Módulo Apache en el Módulos de Apache sección de WHM EasyApache 4 interfaz (WHM >> Hogar >> Software >> EasyApache 4).

Advertencia:

los mod_lsapi El módulo de Apache es no compatible con el mod_ruid2 o mod_mpm_itk Módulos de Apache.

suPHP

Esta opción proporciona la capacidad de ejecutar scripts PHP como el usuario con el mod_suphp Módulo Apache. Este módulo proporciona una forma flexible y segura de atender solicitudes PHP.

Nota:

Si usa suPHP, las extensiones de administración de caché de PHP lo hacen no proporcionar cualquier beneficio a su servidor. Para obtener más información, lea nuestro Opciones PHP documentación.

EasyApache compila el mod_suphp Módulo Apache en modo paranoico, con varios parches para mejorar Apache UserDir apoyo. También incluye nuestro Parche PHPRC.

los mod_suphp El módulo de Apache que proporciona cPanel se comporta muy diferente de la prístina versión anterior. usted no poder utilizar directivas de Apache (por ejemplo, el php_value directiva) con la mod_suphp módulo. Para especificar estos valores, coloque un php.ini archivo en el directorio que contiene el script PHP o en la ubicación que especifica el administrador del sistema.

Puede instalar el mod_suphp Módulo Apache en el Módulos de Apache sección de WHM EasyApache 4 interfaz (WHM >> Hogar >> Software >> EasyApache 4).

Advertencia:

suPHP es no compatible con el mpm_itk o la mod_ruid2 Módulo Apache. usted debe desinstale suPHP si desea utilizar estos módulos.

Nota:

Para que se ejecuten los scripts PHP, los permisos debe se por lo menos 0640. Los scripts se ejecutan como el usuario propietario de VirtualHost. Si el usuario tiene permisos suficientes para escribir en un archivo o directorio, también lo tienen sus scripts PHP.

controles de seguridad de suPHP

los mod_suphp El módulo Apache realiza varias comprobaciones de seguridad antes de ejecutar un script PHP. Edite el mod_suphp archivo de configuración, /etc/suphp.conf, para deshabilitar estas comprobaciones. Puede editar las siguientes comprobaciones de seguridad:

  • docroot – Scripts PHP debe residen en este directorio. Para mejorar la seguridad, cambie este valor a /home/. Este valor predeterminado es /.
  • allow_file_group_writable – Esta comprobación de seguridad evita la ejecución de scripts PHP con permisos de bit de escritura de grupo. Puede cambiar esta directiva a true para permitir que estos scripts se ejecuten, pero esto reduce la seguridad. Este valor predeterminado es false.
  • allow_file_others_writable – Esta comprobación de seguridad evita la ejecución de scripts PHP con los demás permisos de bit de escritura. Puede cambiar esta directiva a true para permitir que estos scripts se ejecuten, pero esto reduce la seguridad. Este valor predeterminado es false.
  • allow_directory_group_writable – Si anteriormente ejecutó PHP como DSO, los miembros del grupo pueden tener acceso de escritura al directorio en el que residen sus scripts PHP. Su servidor no ejecutar estos scripts si esta comprobación de seguridad tiene un valor de false. Puedes cambiar esto a true para permitir que estos scripts se ejecuten, pero esto reduce la seguridad. Este valor predeterminado es false.
  • allow_directory_others_writable – Si anteriormente ejecutó PHP como DSO, sus scripts PHP pueden residir en un directorio de escritura global. Si este control de seguridad tiene un valor de false, tu servidor no ejecutar esos scripts. Puedes cambiar esto a true para permitir que estos scripts se ejecuten, pero esto reduce la seguridad. Este valor predeterminado es false.
  • check_vhost_docroot – Esta verificación de seguridad hace que suPHP verifique si el script de destino reside en la raíz del documento del VirtualHost que atiende la solicitud. Para UserDir request, suPHP considera que la parte del dominio de la URL es el VirtualHost que atiende la solicitud. Si establece esta configuración en true, causa UserDir solicitudes y algunos tipos de alias de PHP fallan, pero mejoran significativamente la seguridad. Este valor predeterminado es false.
  • userdir_overrides_usergroup – Los parches específicos de cPanel permiten esta opción de configuración. Si establece este valor en true, suPHP determina qué usuario ejecuta un script desde el UserDir parte de la URL. Si establece este valor en false, su servidor ejecuta scripts PHP como el usuario que especifica la porción de dominio de la URL. Este valor predeterminado es true.
  • paranoid_uid_check – Puede compilar suPHP en diferentes modos de seguridad. EasyApache usa el modo paranoico. En algunos casos, el modo de fuerza puede ser una mejor opción. los mod_suphp El módulo realiza una verificación paranoica de UID para verificar que el ID de usuario que posee un script lo ejecuta. Cambie esta configuración a false para deshabilitar la verificación de UID y forzar al sistema a comportarse como si estuviera en modo forzado. Este valor predeterminado es true.
  • paranoid_gid_check – Esta verificación de seguridad verifica que el ID de grupo que posee un script también lo ejecuta. Cambie esta configuración a false para deshabilitar la verificación GID y comportarse como si estuviera en modo forzado. Este valor predeterminado es true.
  • umask – Esta opción establece los permisos predeterminados para los archivos que suPHP carga en su servidor. Para mayor seguridad, use 0033, 0077, o 0777. Este valor predeterminado es 0022.

    Nota:

    los mod_suphp los desarrolladores establecen esto en un valor predeterminado de 0777 para requerir que especifique explícitamente los permisos de archivo. Esta configuración es muy segura, pero causa muchos problemas.

  • min_uid – El ID de usuario más bajo que su servidor permite para ejecutar scripts. Para mejorar la seguridad, establezca este valor en 100 o 500. Usted…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *