Ajustes de PHP en un servidor cPanel (CloudLinux)
cPanel permite fácilmente la configuración de la versión de PHP en uso, así como parámetros y extensiones de dicha versión.
Esta gestión es bastante diferente cuando el servidor con cPanel lleva CloudLinux y cuando no. Esta entrada especifica esta gestión en combinación con CloudLinux, lo cual aplicaría a cualquiera de los servicios de hosting compartido con cPanel que ofrecemos actualmente.
Opciones de configuración
Las partes configurables en cPanel con CloudLinux se dividen en tres grupos:
Todas estas configuraciones (a excepción de la realizada por .htaccess) están disponibles desde la sección Seleccionar versión PHP del apartado Software de cPanel.
Cambiar la versión de PHP
A nivel de cuenta
El cambio de la versión de PHP a nivel de cuenta se hace mediante un pequeño selector que se muestra en la pestaña Extensiones de la sección de configuración de PHP.
El cambio de versión se realiza simplemente eligiendo la versión a utilizar en el desplegable y pulsando en el texto Establecer como actual que se mostrará a la derecha, justo tras pulsar en la versión que se quiera utilizar.
Este selector tiene una peculiaridad: en la lista, además de las múltiples versiones de PHP seleccionables, existe una con el nombre native (donde al lado entre paréntesis muestra una versión). Esta versión nativa, tiene ciertas diferencias con las demás:
Es la que viene activa por defecto cuando la cuenta de cPanel se da de alta.
La versión a la que corresponde realmente (el valor que se muestra a su lado entre paréntesis), varía dependiendo de la configuración del servidor.
Es una versión con valores predefinidos, por lo que no se le pueden ajustar las extensiones cargadas o los valores de configuración mediante el resto de apartados del selector.
Debido a estas diferencias, es importante dejar de usar la versión native lo antes posible, ya que dado que la versión es definida por el servidor, si tu cuenta fuera movida a otro, podría variar, provocando comportamientos inesperados en tus contenidos.
A nivel de carpeta/dominio
Al contrario que cPanel de forma nativa, cuando se utiliza CloudLinux y por lo tanto su selector, cPanel no tiene opciones en la interfaz gráfica para definir versiones de PHP por carpeta/dominio.
Para suplir esta carencia, hemos añadido un plugin propio a cPanel que permite realizar esta configuración. Este añade el botón Domain PHP Selector a cPanel y permitiría elegir cualquier dominio añadido a la cuenta y ajustar su versión:
El plugin añadirá al .htaccess la información necesaria para que se utilice la versión seleccionada. Si prefieres configurarlo manualmente sin usar el plugin, también puedes utilizar este formulario para obtener la línea necesaria para la versión que quieras utilizar:
En caso de hacerlo manualmente, es importante añadir esta línea lo más cerca posible a la primera línea del .htaccess para evitar interferencias con otros códigos que pueda haber en el fichero. También es importante que no haya ninguna otra línea AddHandler o SetHandler en el fichero, que defina una versión diferente de PHP (como por ejemplo, si se ha utilizado esta opción anteriormente de forma manual).
Ajustar extensiones de PHP
Una versión de PHP puede cargar sus extensiones de forma dinámica mediante las opciones de la sección Extensiones del apartado de configuración de PHP.
En esta sección se pueden quitar o añadir extensiones simplemente marcando sus casillas de verificación:
Hay que tener en cuenta, que la manipulación de extensiones, afecta a la versión de PHP que esté seleccionada en el desplegable del selector en ese momento.
Es posible elegir una versión que no sea la activa, cambiarle extensiones y que queden aplicadas para dicha versión, de forma que afecten cuando se define una versión de PHP por dominio/carpeta mediante .htaccess.
Ajustar límites y otras variables de PHP
Desde la sección de configuración de PHP, en la pestaña Options se pueden ajustar diversas variables de PHP, que modifican su funcionamiento.
Por defecto, están configurados valores bastante amplios en casi todas las opciones, pero es posible que para aplicaciones pesadas, sea necesario ajustar algunas cosas. Los cambios más comunes en esta sección son sobre las variables:
max_execution_time: tiempo máximo (en segundos) que puede durar la ejecución de un script PHP.
max_input_vars: cantidad máxima de variables de entrada que se pueden aceptar.
memory_limit: máximo de memoria (en MB) que puede llegar a reservar un script PHP.
post_max_size: tamaño máximo (en MB) que puede enviarse por una petición POST. Debería ser algo mayor que upload_max_filesize e inferior al memory_limit.
upload_max_filesize: tamaño máximo (en MB) que puede pesar un archivo subido (mediante un formulario por ejemplo).
Al igual que con las extensiones de PHP, estos ajustes afectan a la versión que esté seleccionada en el selector de la parte superior. Es posible hacer ajustes sobre una versión no activa, de forma que afecten cuando se define una versión de PHP por dominio/carpeta mediante .htaccess.
Ruben Pérez
Ruben Pérez es técnico de soporte nivel 2 en Raiola Networks y publica contenidos de ayuda en las FAQ de ayuda a clientes de la web de Raiola Networks.
Autor
Álvaro Fontela
Alvaro Fontela es consultor WordPress especializado en WPO y rendimiento web, además de co-fundador y CEO de Raiola Networks.
Revisor