you should present not extension apcu php apc opcode

php - should - xampp apc



¿Cómo verificar si el caché de código de operación de APC funciona bien en PHP? (3)

Estoy usando PHP con caché APC habilitado:

apc.cache_by_default => On apc.enabled => On apc.ttl => 7200

Ahora, ¿cómo puedo saber si está usando el caché de código de operación al 100%?

Por ejemplo, digamos que tengo este archivo PHP:

<?php echo "Hi there"; ?>

Ahora, después de ejecutar este archivo, vamos a cambiarlo a echo "Bye there";

¿No debería hacer eco "Hola" ya que el TTL de 7200 segundos aún no ha terminado? Estoy en lo cierto Si es así, ¿por qué se hace eco "Adiós"? Y si estoy equivocado, ¿cómo puedo forzarlo a usar el caché de código de operación incluso después de cambiar el archivo?


La forma más sencilla que pude encontrar para saber si APC está funcionando fue crear un nuevo archivo PHP que contenga este código ...

<pre><?php print_r(apc_cache_info());

Vuelca el contenido de apc_cache_info () en la pantalla (tenga cuidado, en un sitio grande y en vivo, ¡esto podría ser una gran cantidad de datos!).

Cada vez que recargas este archivo PHP, deberías ver num_hits aumento de num_hits , lo que significa que se utilizó el caché de código de operación. Una falla indica que APC tuvo que volver a compilar el archivo desde la fuente (generalmente se realiza en cada cambio).

Para una mejor interfaz con esta información , puede usar el archivo apc.php que viene con APC. Copié esto en el directorio de mi sitio web usando este comando de consola (las ubicaciones de sus carpetas pueden ser diferentes) ...

cp /usr/share/doc/php-apc/apc.php /usr/share/nginx/html/apc-stats.php

Ejecutar este archivo en tu navegador te da bonitos colores y gráficos!

Vea este enlace para más información:
http://www.electrictoolbox.com/apc-php-cache-information/


No creo que quieras hacerlo en producción, pero siempre apc_cache_info() usar apc_cache_info() .

function is_file_cached($file) { $info = apc_cache_info(); foreach ($info[''cache_list''] as $cache) { if ($cache[''filename''] == $file) return true; } return false; }

Tenga en cuenta que esto se repetirá en cada archivo que esté en caché, buscando el archivo especificado, por lo que no es eficiente.

Y en cuanto a su pregunta específica, APC invalidará automáticamente el caché de un archivo cuando cambie. Entonces, cuando edita el archivo, APC detecta esto silenciosamente y sirve el nuevo archivo. Puede deshabilitar esto configurando apc.stat = 0 .


Normalmente, APC verifica si el archivo solicitado se ha modificado desde que se almacenó en caché. Puedes controlar esto con apc.stat .