This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

Cómo instalar y configurar OPcache con tu aplicación PHP

Updated on julio 11, 2025

9 Min Read

¿Estás cansado de la lentitud en la ejecución de los scripts PHP y del bajo rendimiento de las aplicaciones? ¿Te esfuerzas por optimizar tu código y reducir los tiempos de carga? Si es así, no estás solo. Muchos desarrolladores se enfrentan a estos retos cuando trabajan con aplicaciones PHP.

Afortunadamente, existe una solución: OPcache.

Esta potente caché de opcodes almacena bytecode de scripts PHP precompilados en memoria compartida, reduciendo el tiempo que tardan en ejecutarse tus scripts. Por lo tanto, mejora el rendimiento de tu aplicación PHP, permitiéndote centrarte en lo que realmente importa: ofrecer una gran experiencia al usuario.

En esta entrada del blog, te guiaré a través del proceso de instalación y configuración de OPcache con tu aplicación PHP. Y lo que es más importante, verás cómo Cloudways ha simplificado la integración de OPcache con aplicaciones basadas en PHP. Así que, si utilizas nuestro alojamiento web PHP, este artículo te será de gran ayuda.

Breve descripción de OPcache

OPcache almacena el código de bytes de los scripts precompilados en memoria compartida, mejorando el rendimiento de PHP. Almacena en caché el opcode, permitiendo que los scripts se sirvan directamente desde la caché. Esto reduce el uso de CPU y memoria, optimizando la utilización de recursos y mejorando la escalabilidad de la aplicación PHP.

Con OPcache activado, los scripts se almacenan en memoria, y sólo se compilan las actualizaciones. Elimina la necesidad de que PHP recompile los scripts, reduciendo la sobrecarga del servidor y acelerando la ejecución de PHP. El resultado es una carga más rápida de las páginas web y una experiencia de usuario más fluida.

¿Cómo funciona OPcache?

PHP OPcache aumenta el rendimiento comprobando si hay bytecode de script precompilado en la memoria compartida cada vez que se compila un script. Si no se encuentra el código, OPcache lo compila automáticamente y lo guarda en la memoria, generando después la salida.

El diagrama siguiente ilustra el proceso de ejecución del código con PHP OPcache, explicando claramente cómo funciona.
script php

Alojamiento PHP Framework [A partir de 11 $ de crédito]

  • Puesta en escena gratuita
  • Copia de seguridad gratuita
  • PHP 8.0
  • Sitios web ilimitados

PRUEBA AHORA

OPcache frente a otros tipos de caché

Diferentes aplicaciones necesitan diferentes tipos de caché. PHP OPcache es genial para acelerar PHP. Esta tabla compara diferentes opciones de caché.

Función PHP OPcache APCu Memcached
Mecanismo de caché Caché de opcodes Caché de datos de usuario Caché distribuida
Integración Integrado con PHP Extensión independiente Servicio independiente
Instalación Fácil Fácil Requiere configuración del servidor
Rendimiento Excelente Bueno Excelente
Escalabilidad NA NA Alta
Soporte para Datos de Usuario No
Mecanismo de almacenamiento En memoria En memoria Distribuido (RAM)
Caducidad de la caché NA TTL o Borrado Manual TTL o borrado manual
Invalidación de caché Automático (Cambio de archivo) Borrado manual Borrado manual
Apoyo comunitario Fuerte Fuerte Fuerte
Casos de uso Se utiliza principalmente para el almacenamiento en caché de opcodes para acelerar la ejecución de PHP Más adecuado para almacenar en caché datos específicos del usuario o escenarios de almacenamiento en caché distribuido. Más adecuado para almacenar en caché datos específicos del usuario o escenarios de almacenamiento en caché distribuido.

¿Por qué deberías utilizar OPcache?

PHP OPcache es esencial para cualquier aplicación web basada en PHP, ya que mejora el rendimiento y la experiencia del usuario. Almacena el código de bytes precompilado en la memoria, eliminando el análisis y la compilación repetitivos de los scripts PHP.

Esto permite a los servidores gestionar más peticiones de forma eficiente, facilitando el escalado de las aplicaciones web sin aumentar los recursos del servidor. OPcache también reduce las operaciones de E/S de disco, acelerando la ejecución de PHP y mejorando la capacidad de respuesta del sitio web.

Gracias a su compatibilidad con PHP, fácil integración y escalabilidad, OPcache es imprescindible en cualquier entorno de servidor PHP, ya que mejora el rendimiento y la fiabilidad de las aplicaciones web basadas en PHP.

Rendimiento de OPcache

Encontré un caso práctico sobre cómo OPcache mejoró el rendimiento de un sitio web. Un usuario llamado Tschallacka compartió la configuración de su servidor y cómo las peticiones se servían rápidamente. El caso práctico muestra cómo OPcache puede acelerar y mejorar el rendimiento de una aplicación.

Sin OPcache

Cuando utilizo este script sin OPcache, envío 9000 peticiones en 2,8 segundos al servidor Apache. Alcanza un máximo de 90-100% de CPU durante 70-80 segundos hasta que se pone al día con todas las peticiones.
Tiempo total empleado: 76085 milisegundos(76 segundos)

Con OPcache
Con OPcache activado, funciona al 25-30% de uso de la CPU durante unos 25 segundos y nunca pasa del 25% de uso de la CPU.

Tiempo total empleado: 26490 milisegundos(26 segundos)

He hecho un archivo de lista negra OPcache para desactivar el almacenamiento en caché de todo excepto del framework, que es todo estático y no necesita cambios de funcionalidad.

Elijo explícitamente que los archivos del framework se desarrollen sin preocuparme de recargar/validar los archivos de la caché. Tener todo en caché ahorra un segundo en el total de las peticiones, 25546 milisegundos

Esto amplía significativamente la cantidad de datos/solicitudes que puedo manejar por segundo sin que el servidor se inmute.

Requisitos del sistema

Para utilizar OPcache, debes compilarlo como extensión compartida. Si has desactivado las extensiones por defecto, debes compilar PHP con la opción –enable-opcache. A continuación, puedes cargar la extensión OPcache en PHP utilizando la directiva de configuración zend_extension.

Con PHP 5.5 y posteriores, no necesitas APC ni extensiones similares de caché de código de bytes, porque OPcache está integrado en el núcleo de PHP. Esto proporciona una mayor estabilidad y cuenta con el apoyo oficial de los desarrolladores de PHP.

Libera todo el potencial de PHP con la integración de OPcache

Cloudways + OPcache: La combinación perfecta para un sitio web de alto rendimiento.

Instalar y configurar OPcache

Aunque la última actualización hace que OPcache sea compatible con PHP 8. Sin embargo, los expertos recomiendan a los usuarios que opten por PHP v5 y v7. Para empezar a utilizar OPcache, primero debes habilitarlo manualmente. Para ello, tendrás que hacer lo siguiente:

Añade la siguiente línea a tu php.ini:

zend_extension=/full/path/to/opcache.so (nix)


zend_extension=C:\path\to\php_opcache.dll (win)

Ten en cuenta que cuando la ruta contenga espacios debes encerrarla entre comillas:

zend_extension="C:\Program Files\PHP5.5\ext\php_opcache.dll"

Además, tendrás que utilizar la directiva zend_extension en lugar de la directiva de extensión «normal » porque afecta al motor Zend real (es decir, al que ejecuta PHP).

For PHP 5.4 or earlier (>= 5.2), you can install Zend OPcache using PECL.
$ pecl install zendopcache-beta

El comando pecl intentará actualizar tu php.ini de configuración automáticamente.

Ahora que has configurado OPcache correctamente, es el momento de actualizar la configuración recomendada para optimizar el rendimiento. Los ajustes son los siguientes:

opcache.memory_consumption=128 (for caching all compiled files)


opcache.interned_strings_buffer=8


opcache.max_accelerated_files=4000 (by default can cache 2000 files)


opcache.revalidate_freq=60


opcache.fast_shutdown=1


opcache.enable_cli=1

Algunos otros ajustes pueden ser útiles, como si utilizas anotaciones de código:

opcache.save_comments=1

Puedes ver la lista completa de configuraciones de tiempo de ejecución aquí.

OPcache con otros CMS/Framework

Aunque PHP OPcache puede mejorar el rendimiento, es esencial controlar el comportamiento de la caché y ajustar la configuración en función de las necesidades de tu aplicación.

WordPress

  • Comprobación de compatibilidad: Antes de activar PHP OPcache, asegúrate de que tu alojamiento para WordPress y la versión de WordPress son compatibles con OPcache.
  • Plugin de caché: Utiliza un plugin de caché diseñado específicamente para WordPress, como W3 Total Cache o WP Super Cache. Estos plugins pueden ayudarte a gestionar la configuración de la caché, incluida la integración con PHP OPcache.
  • Ajuste fino: Considera la posibilidad de ajustar la configuración de PHP OPcache en función del entorno de alojamiento. Ajusta opcache.memory_consumption, opcache.max_accelerated_files y opcache.revalidate_freq en función de los requisitos de tu sitio web.
  • Mecanismo de limpieza de caché: Implementa un mecanismo de limpieza de caché para asegurarte de que cuando actualices plugins, temas o contenidos, los cambios se reflejen correctamente. Algunos plugins de caché se encargan de ello automáticamente.

Drupal

  • Compatibilidad de versiones: Asegúrate de que utilizas Drupal 7 o Drupal 8+, ya que las versiones anteriores podrían no ser totalmente compatibles con PHP OPcache.
  • Módulos de caché: Drupal dispone de módulos como «APC» y «Memcache » que pueden utilizarse junto con PHP OPcache para mejorar el almacenamiento en caché.
  • Ajuste de OPcache: Ajusta la configuración de OPcache en la configuración de PHP para optimizar el consumo de memoria y el número de archivos almacenados en caché en función del tamaño y la complejidad de tu sitio Drupal.
  • Caducidad de la caché: Implementa un mecanismo de caducidad de la caché para gestionar eficazmente las actualizaciones y cambios de contenido.

Laravel

  • Extensión OPcache: Comprueba que la extensión OPcache está instalada y habilitada en tu configuración PHP para que Laravel pueda utilizarla.
  • Optimización con Artisan: La herramienta de línea de comandos Artisan de Laravel proporciona un comando optimizado que precompila las clases, reduciendo significativamente el tiempo de carga de los archivos.
  • Ajustes de OPcache: Ajusta la configuración de OPcache en tu configuración PHP o utiliza un paquete como «opcache-dashboard» para supervisar y ajustar la configuración desde Laravel (Cloudways también ofrece alojamiento Laravel gestionado).

Usar OPcache en Cloudways

Como Cloudways cree en ofrecer facilidad a sus clientes, te permite cambiar la configuración de la memoria desde la pestaña de configuración del servidor y paquetes.

Aunque recuerda que no tienes acceso al archivo php.ini, por lo que se aplicarán los valores por defecto establecidos por Cloudways. Puedes cambiar los tamaños de memoria de ambas opciones según los requisitos de tu aplicación.


Los valores de configuración por defecto son los siguientes:

opcache.interned_strings_buffer=4


opcache.max_accelerated_files=2000


opcache.memory_consumption=64


opcache.revalidate_freq=2


opcache.fast_shutdown=0


opcache.enable_cli=0

Interfaz gráfica OPcache

La forma tradicional de comprobar si la caché PHP OPcode se está ejecutando en el servidor es escribir phpinfo(); en el archivo .php y ver el estado:

Pero si quieres ver la GUI gráfica optimizada con interacción con el usuario en la que puedas tener la opción de gestionar los ajustes con botones, entonces puedes utilizar los paquetes de código abierto disponibles en GitHub. Así que los siguientes paquetes se pueden utilizar para el trabajo.

1. OPcacheGUI

OPcacheGUI te permite gestionar las funciones de OPcache, como el estado, las configuraciones, el reinicio, la vista general de los scripts, etc., con una interfaz de usuario agradable. También puedes ver la memoria, las claves y el estado de los hits de forma gráfica. Simplificando así el proceso general de datos para los usuarios.

– Fuente: GitHub/PeeHaa

2. OPcache-Status

OPcache-Status proporciona la página de estado de una página para la caché PHP OPcode. Algunas cosas más que puede hacer por ti son:

  • La posibilidad de ordenar la lista de guiones almacenados en caché por las distintas columnas;
  • Un mejor diseño que puede acomodar más datos del guión sin parecer desordenado;
  • Una pestaña de sugerencias de ajuste (aunque primero hay que añadir un par de cosas a la salida OPcache).

– Fuente: GitHub/rlerdorf

3. OPcache-GUI

OPcache-GUI te ofrece una interfaz de usuario fácil de usar para la configuración de OPcache, creada con jQuery y React. Puedes ver información como tu host, plataforma, versión y cuándo se reinició por última vez. También muestra todas las funciones disponibles y estadísticas importantes como el número de accesos y el uso de memoria.

– Fuente: GitHub/amnuts

Cloudways + OPcache – La mejor combinación para sitios web rápidos

Empieza con 3 meses de prueba gratis:
✓ Autoescalado para sitios con gran cantidad de medios
SSL gratuito para cargas seguras
✓ Asistencia experta 24/7

Resumen

A estas alturas, probablemente ya estés convencido de las ventajas de integrar PHP OPcache en tus aplicaciones web. Esta potente herramienta ha revolucionado el rendimiento de PHP, proporcionando un gran impulso a la velocidad y eficiencia de tus aplicaciones web.

Con la caché de código, ya no tienes que perder tiempo compilando código repetidamente. En su lugar, el código sólo se compila cuando se actualiza y luego se guarda en la memoria compartida para un acceso rapidísimo. Esto ahorra tiempo y recursos, lo que se traduce en un rendimiento sin fisuras.

¡No pierdas la oportunidad de llevar el rendimiento de tu PHP al siguiente nivel con OPcache!

Q. ¿Qué es OPcache PHP?

A. OPcache es una extensión de PHP que mejora el rendimiento almacenando en caché scripts PHP precompilados en memoria, reduciendo la necesidad de compilación repetitiva de scripts.

Q. ¿Debo activar OPcache?

A. Sí, se recomienda activar OPcache en entornos de producción, ya que aumenta significativamente el rendimiento y reduce la carga del servidor.

Q. ¿Cómo activar OPcache en PHP?

A. Para activar OPcache:

  • Abre el archivo php.ini.
  • Añade o asegúrate de que la línea opcache.enable=1 está presente.
  • Reinicia tu servidor web para aplicar los cambios.

Q. ¿Cuál es la diferencia entre PHP JIT y OPcache?

A. OPcache almacena en caché los scripts PHP precompilados para su reutilización, mientras que PHP JIT (Just-In-Time) compila el código PHP en código máquina nativo en tiempo de ejecución para una mayor optimización del rendimiento.

Q. ¿Qué hacer si PHP Opcache no funciona?

A. Si el PHP Opcache no funciona correctamente, ve al archivo php.ini y comprueba la sección Opcache. Asegúrate de que opcache.enable=1 está configurado en este archivo. Si no es así, configúralo en consecuencia.

Share your opinion in the comment section. COMMENT NOW

Share This Article

Start Growing with Cloudways Today.

Our Clients Love us because we never compromise on these

Shahzeb Ahmed

Un creativo de día (con una taza de té) y un creativo de noche. Ahmad Kamran es redactor de contenidos estacionales y Ejecutivo de Marketing Senior en Cloudways. Puedes encontrarle en su escritorio escribiendo, elaborando estrategias o jugando. Y en caso de que no puedas encontrarle aquí, estará en la montaña o junto a la orilla del río.

×

Webinar: How to Get 100% Scores on Core Web Vitals

Join Joe Williams & Aleksandar Savkovic on 29th of March, 2021.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

Want to Experience the Cloudways Platform in Its Full Glory?

Take a FREE guided tour of Cloudways and see for yourself how easily you can manage your server & apps on the leading cloud-hosting platform.

Iniciar mi recorrido