Los archivos del sitio web se almacenan en caché en un servidor web Debian que ejecuta PHP 5.5.28

Los archivos del sitio web se almacenan en caché en un servidor web Debian que ejecuta PHP 5.5.28

Cuando hago pequeños cambios en mi sitio web y los subo, normalmente esos cambios tardan unos minutos en reflejarse en vivo. Sólo empezó a suceder después de que instalé un nuevo sistema Debian a través de Google Compute Engine.

He descartado que tenga código que lo esté cacheando, pero ¿es posible que PHP 5.5.28 o Debian puedan estar cacheando archivos? También verifiqué para asegurarme de que no sea el navegador y usé la opción de Chrome para no almacenar en caché los archivos en las herramientas de desarrollador.

Respuesta1

Estás usando PHP 5.5.28 y, según mi experiencia, cualquiera que pase de PHP 5.3 o 5.4 a PHP 5.5 debe conocer la nueva versión integrada.OPcache (caché de operaciones)estando habilitado de forma predeterminada.

Si alguna vez has usadoAPC (caché PHP alternativo), el nuevo OPcache integrado funciona prácticamente igual y es bueno para fines de producción de código complejo, pero estar habilitado de forma predeterminada puede perjudicarlo si está acostumbrado a cargar archivos y los cambios aparecen de inmediato.

Este sitio hace un buen trabajo.de explicar qué es OPcache y cómo modificarlo. Pero si aún no necesita OPcache, simplemente abra su archivo PHP ini de esta manera; prefiero usarnanopero siéntete libre de usar cualquier editor de texto que desees:

sudo nano /etc/php5/apache2/php.ini

Busque la línea que dice:

opcache.enable=1

Y simplemente deshabilítelo cambiando esa línea a:

;opcache.enable=0

Reinicie Apache y ahora PHP 5.5 no usará OPcache. Y, honestamente, habilitar un caché como ese debería ser una decisión del administrador del sistema y su conocimiento de cómo funciona el código y cómo reacciona el servidor.

Si su sitio basado en PHP es lo suficientemente liviano, OPcache podría ser excesivo, realmente no necesario e incluso podría interponerse en el camino.

Pero si necesita OPcache pero también necesita actualizar los archivos PHP con regularidad, tal vezajustar los valores de configuración de OPcache ayudaría. La configuración predeterminada es algo como esto:

opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

La clave que veo en esa configuración que podría provocar una actualización esperada esopcache.revalidate_freq:

Con qué frecuencia comprobar las marcas de tiempo del script en busca de actualizaciones, en segundos. 0 dará como resultado que OPcache busque actualizaciones en cada solicitud.

El valor predeterminado de 60 segundos está bien, pero me parece que reducirlo a opcache.revalidate_freqalgo así como 5 segundos podría ser una mejor manera de tener el beneficio de OPcache habilitado, pero aún así tener una ventana de verificación de actualización razonable para que no te tropieces. mediante simples actualizaciones de archivos.

información relacionada