Usuarios que contratan un VPS o Servidor dedicado por primera vez, tienen la duda que handler requieren para el uso adecuado de sus recursos de hardware. En este tutorial informativo vamos a discutir las diferentes opciones de PHP handler que usted tiene que elegir en su VPS (Virtual Private Server) o un servidor dedicado que ejecute cPanel. Un controlador de PHP define el método que usa Apache para comunicar un lado a otro con sus scripts PHP. Conocer las diferencias entre los PHP handler puede ayudar a asegurarse de que está utilizando lo mejor para su entorno PHP.

Elegir el mejor handler de PHP para sus necesidades específicas puede recorrer un largo camino para asegurar una experiencia eficiente y segura de alojamiento para todos los sitios web. Un handler de PHP no es necesariamente mejor que los demás en todas las situaciones, por lo que la comprensión de los fundamentos de lo que cada handler PHP tiene que ofrecer puede ayudar a determinar cuál podría ser el mejor en su caso específico.

Hay varios handler que se pueden utilizar para la carga de PHP: CGI, DSO, suPHP, y FastCGI. Cada handler entrega sus scripts a través de los diferentes archivos e implementaciones. Cada archivo y aplicación afecta el rendimiento de Apache, ya que determina cómo Apache sirve PHP.

Es esencial para el rendimiento de su servidor que seleccione el handler que se adapte a su situación. Selección del handler es tan importante como la versión de PHP. Un controlador no es necesariamente mejor que otro, sino que depende de su configuración única.
<h3>¿Cómo cambiar o definir el PHP Handler en cPanel?</h3>
Main &gt;&gt; Service Configuration &gt;&gt; Configure PHP and suEXEC

¡Ojo!: Si PHP no está construido dentro de EasyApache, no verá ningún handler para seleccionar.

Para definir nuevos handlers de PHP:

Seleccione los handlers que usted quiere que manejen una o ambas versiones de PHP.
En el menú emergente apropiado, seleccione el handler que desea usar para cada versión de PHP.
Pulse Save New Configuration para guardar la nueva configuración.
<h3>Lista de PHP handlers</h3>
<h3>DSO</h3>
DSO es el controlador de PHP por defecto en los servidores cPanel. Se ejecuta como un módulo de Apache, al igual que cualquier otro módulo de apache. Esto significa que los scripts PHP que desee ejecutar tiene que ser propiedad del usuario "nobody" tanto el usuario de Apache como el grupo.

Uno de los puntos débiles de funcionamiento DSO es que, debido a que es un módulo de Apache, entiende directivas del servidor de Apache. Puede tomar directivas específicas, ya sea en la configuración principal de Apache (httpd.conf) o en un archivo .htaccess para un dominio. Esto hace DSO altamente configurable.
<h3>SuPHP</h3>
SuPHP también funciona como un módulo de Apache. Fue escrito con una mayor seguridad en mente. Para este fin, se ejecuta scripts PHP como el propietario del dominio. En lugar del usuario y el grupo "nobody" , los scripts PHP son propiedad del usuario de Linux para el dominio. También es muy configurable.

Por supuesto, las prestaciones de seguridad vienen con una desventaja. A diferencia de DSO, SuPHP no entiende directivas de Apache en .htaccess. Si desea utilizar las directivas de Apache, deben estar en httpd.conf. Además, SuPHP puede correr más lento que DSO.
<h3>FastCGI</h3>
FastCGI fue escrito pensando en la velocidad. Es rápido. Combinado con Suexec, puede ejecutar scripts PHP de propiedad, ya sea como "nobody" o el usuario de linux para el dominio. Sólo a partir de estos aspectos positivos, suena como un buen candidato para la sustitución de todos los otros controladores PHP, pero, al igual que todos los controladores de PHP, viene con sus propios inconvenientes.

FastCGI no entiende directivas de Apache. Si desea utilizar las directivas de Apache para PHP, FastCGI no es el controlador para usted. Además, tiene una superficie de memoria alta. Si su servidor no tiene memoria RAM adicional dando vueltas, FastCGI no es probablemente la mejor opción.
<h3>CGI</h3>
CGI no está escrito como un módulo de Apache, sino como una interfaz de entrada común. Es muy configurable, más que cualquier otro controlador. Como FastCGI, también trabaja con Suexec, y puede trabajar con cualquier propiedad de scripts PHP.

El gran problema con controlador CGI de PHP es que es lento. El hecho de que sea lento es la razón por la que FastCGI tiene como "rápido" en su nombre. Como FastCGI, que no maneja directivas de Apache. A menos que necesite la configurabilidad extra, no se recomienda.
<h3>Comparación Gráfico</h3>
<table width="100%" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td bgcolor="#666666"></td>
<td bgcolor="#333333"><span style="color: #333333;">DSO</span></td>
<td bgcolor="#333333"><span style="color: #333333;">CGI</span></td>
<td bgcolor="#333333"><span style="color: #333333;">SuPHP</span></td>
<td bgcolor="#333333"><span style="color: #333333;">FastCGI</span></td>
</tr>
<tr>
<td bgcolor="#333333"><span style="color: #333333;">Menor uso de la CPU</span></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
<td bgcolor="#666666"></td>
<td bgcolor="#666666"></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
</tr>
<tr>
<td bgcolor="#333333"><span style="color: #333333;">Bajo consumo de memoria</span></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
<td bgcolor="#666666"></td>
</tr>
<tr>
<td bgcolor="#333333"><span style="color: #333333;">Se ejecuta PHP como propietario del sitio en lugar de Apache</span></td>
<td bgcolor="#666666"></td>
<td bgcolor="#666666"><span style="color: #333333;">✔*</span></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
</tr>
<tr>
<td bgcolor="#333333"><span style="color: #333333;">Buena seguridad</span></td>
<td bgcolor="#666666"></td>
<td bgcolor="#666666"></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
<td bgcolor="#666666"><span style="color: #333333;">✔</span></td>
</tr>
</tbody>
</table>
*solo con suEXEC
