Cómo Configurar OPcache en cPanel con PHP-FPM (Requiere Root)

Acelerar tu sitio es crucial, y una de las formas más efectivas de hacerlo a nivel de servidor es habilitando y configurando OPcache. Si tu hosting usa cPanel con PHP-FPM, el proceso implica editar un archivo de configuración directamente en el servidor. Esta guía de preguntas frecuentes te mostrará exactamente cómo hacerlo


¿Qué necesito para realizar estos cambios?

Acceso Root. Todas las acciones descritas aquí —editar archivos de configuración del sistema y reiniciar servicios— solo pueden ser realizadas por el usuario root (o un usuario con privilegios sudo). Si tienes un plan de hosting compartido, no podrás realizar estos cambios. Esto es para servidores dedicados o VPS donde tienes control total.

¿Qué es OPcache y por qué lo necesito?

OPcache es una extensión de PHP que mejora drásticamente el rendimiento de tu web. Lo hace guardando el código PHP precompilado en la memoria compartida del servidor (RAM). De esta forma, cada vez que un visitante llega a tu sitio, el servidor no tiene que compilar el código desde cero. El resultado es un tiempo de carga mucho más rápido y un menor consumo de CPU.

¿Cómo ubico el archivo de configuración correcto?

Como usuario root, debes buscar un archivo de configuración .yaml para el dominio específico. La ruta sigue este formato:

/var/cpanel/userdata/[usuario]/[dominio].php-fpm.yaml

Reemplaza [usuario] con el nombre de usuario de cPanel del dominio y [dominio] con el nombre del dominio. Si el archivo no existe, deberás crearlo desde tu sesión de root.

¿Qué código debo agregar para configurar OPcache?

Para habilitar y configurar OPcache, debes agregar directivas específicas al archivo .yaml.

Conéctate por SSH como root y abre el archivo con un editor de texto (como nano o vim). Luego, agrega estas líneas:

php_admin_value_opcache_enable: { name: 'php_admin_value[opcache.enable]', value: 1 }
php_admin_value_opcache_enable_cli: { name: 'php_admin_value[opcache.enable_cli]', value: 1 }
php_admin_value_opcache_memory_consumption: { name: 'php_admin_value[opcache.memory_consumption]', value: 512 }
php_admin_value_opcache_interned_strings_buffer: { name: 'php_admin_value[opcache.interned_strings_buffer]', value: 128 }
php_admin_value_opcache_max_accelerated_files: { name: 'php_admin_value[opcache.max_accelerated_files]', value: 20000 }
php_admin_value_opcache_validate_timestamps: { name: 'php_admin_value[opcache.validate_timestamps]', value: 1 }
php_admin_value_opcache_revalidate_freq: { name: 'php_admin_value[opcache.revalidate_freq]', value: 0 }

Si el archivo .yaml ya tenía otras configuraciones, simplemente agrega estas líneas al final.

¿Cómo aplico los cambios después de guardar?

Este es el paso más importante y también requiere acceso root. Después de guardar el archivo, cPanel no aplica los cambios automáticamente. Debes indicarle que lo haga ejecutando los siguientes comandos desde la terminal.

Reconstruir la configuración de PHP-FPM: Este comando lee tu archivo .yaml y lo traduce a la configuración nativa de PHP-FPM.

/scripts/php_fpm_config --rebuild

Reiniciar los servicios: Para que los cambios surtan efecto de inmediato, reinicia Apache y el servicio PHP-FPM.

/scripts/restartsrv_apache_php_fpm

¿Cómo verifico que OPcache está funcionando?

La forma más sencilla de verificarlo es usando una página phpinfo. Esto lo puede hacer el usuario de cPanel sin necesidad de ser root.

1. Usando el Administrador de Archivos de cPanel o FTP, crea un archivo llamado info.php en el directorio raíz de tu dominio (generalmente public_html).

2. Coloca el siguiente código dentro del archivo y guárdalo:

<?php
phpinfo();
?>

3. Abre https://tudominio.com/info.php en tu navegador.

4. Busca la sección “Zend OPcache”. Allí deberías ver los valores que acabas de configurar (como opcache.memory_consumption en 512).


¡Importante! Una vez que hayas terminado de verificar, elimina el archivo info.php de tu servidor, ya que muestra información sensible sobre la configuración de tu servidor.