Alternative PHP Cache (APC) es una caché de código optimizada pública y gratuita para PHP. Se utiliza para proporcionar un marco gratuito, abierto y robusto para almacenar en caché y optimizar el código intermedio PHP.
El sitio web oficial de APC es http://pecl.php.net/package/apc .
La dirección de descarga del módulo de expansión en Windows es http://www.sitebuddy.com/php/accelerators/apc_windows_binaries_builds
. requiere el directorio c:tmp y el proceso del servidor web debe poder escribir en el directorio.
1. Instalar
como extensión de PHP
2. Configurar
la opción de optimizaciónbooleana
apc.optimization
apc.enabled. APC se puede cambiar en el script.
Explicación detallada de las opciones de configuración de PHP.ini
[APC]
La caché PHP alternativa se utiliza para almacenar en caché y optimizar PHP intermedio; código
apc.cache_by_default = Activado
; SYS
; si se habilita el almacenamiento en búfer para todos los archivos de forma predeterminada.
; si se establece en Desactivado y se usa con la directiva apc.filters que comienza con un signo más, los archivos solo se almacenarán en caché si coinciden con un filtro.
apc.enable_cli = Off
;SYS
; Ya sea para habilitar la función APC para la versión CLI, active este comando solo con fines de prueba y depuración.
apc.enabled = On
; Si se debe habilitar APC Si APC está compilado estáticamente en PHP y desea deshabilitarlo, esta es la única manera.
apc.file_update_protection = 2
;SYS
; Cuando modifica archivos en un servidor en ejecución, debe realizar operaciones atómicas.
; Es decir, primero escriba en un archivo temporal y luego cambie el nombre (mv) del archivo al nombre final.
; los editores de texto y programas como cp y tar no funcionan de esta manera, lo que genera la posibilidad de almacenar en el buffer archivos incompletos.
El valor predeterminado 2 significa que al acceder a un archivo, si se encuentra que el tiempo de modificación es inferior a 2 segundos desde el tiempo de acceso, no se realizará ningún almacenamiento en búfer.
; El visitante desafortunado puede obtener contenido corrupto, pero el efecto negativo no se ve amplificado por el almacenamiento en caché.
; Si puede asegurarse de que todas las operaciones de actualización sean atómicas, puede desactivar esta función con 0.
; si su sistema se actualiza lentamente debido a operaciones intensas de IO, es posible que deba aumentar este valor.
apc.filters =
;SYS
; Una lista separada por comas de expresiones regulares extendidas POSIX.
; si el nombre del archivo fuente coincide con alguno de los patrones, el archivo no se almacena en caché.
; Tenga en cuenta que el nombre del archivo utilizado para hacer coincidir es el nombre del archivo pasado para incluir/requerir, no la ruta absoluta.
; Si el primer carácter de la expresión regular es "+", significa que cualquier archivo que coincida con la expresión se almacenará en caché.
Si el primer carácter es "-", las coincidencias no se almacenarán en caché. "-" es el valor predeterminado y se puede omitir.
apc.ttl = 0
;SYS
; El número de segundos que una entrada de caché puede permanecer en el búfer. 0 significa que nunca se agota el tiempo. El valor recomendado es 7200~36000.
; Establecer en 0 significa que el búfer puede llenarse con entradas de caché antiguas, lo que impide que se almacenen en caché nuevas entradas.
apc.user_ttl = 0
;SYS
; Similar a apc.ttl, pero para cada usuario, el valor recomendado es 7200~36000.
; Establecer en 0 significa que el búfer puede llenarse con entradas de caché antiguas, lo que impide que se almacenen en caché nuevas entradas.
apc.gc_ttl = 3600
;SYS
; El número de segundos que puede existir una entrada de caché en la tabla de recolección de basura.
; Este valor proporciona una medida de seguridad para que incluso si un proceso del servidor falla mientras ejecuta un archivo fuente almacenado en caché
y el archivo fuente ha sido modificado, la memoria asignada para la versión anterior no se recuperará hasta que se alcance este valor TTL.
; Establezca en cero para desactivar esta función.
apc.include_once_override = Desactivado
;SYS
; Manténgalo desactivado; de lo contrario, puede provocar resultados inesperados.
apc.max_file_size = 1M
;SYS
; Deshabilita el almacenamiento en caché de archivos mayores a este tamaño.
apc.mmap_file_mask =
;
SYS
;
/apc.XXXXXX").
; Esta máscara se utiliza para determinar si el área asignada de memoria debe estar respaldada por archivos o por memoria compartida.
; Para mapeo directo de memoria respaldada por archivos, configúrelo en "/tmp/apc.XXXXXX" (exactamente 6 X).
; Para utilizar shm_open/mmap de estilo POSIX, debe configurarse en "/apc.shm.XXXXXX".
; También puede configurarlo en "/dev/zero" para utilizar la interfaz "/dev/zero" del kernel para la memoria asignada de forma anónima.
; No definir esta directiva obliga al uso de mapeo anónimo.
apc.num_files_hint = 1000
; SYS
; El número aproximado de archivos fuente diferentes que pueden incluirse o solicitarse en el servidor web (el valor recomendado es 1024~4096).
; si no está seguro, configúrelo en 0; esta configuración se utiliza principalmente para sitios con miles de archivos fuente.
apc.optimization = 0
; Nivel de optimización (el valor recomendado es 0).
; Un valor entero positivo habilita el optimizador, y los valores más altos utilizan optimizaciones más agresivas.
Los valores más altos pueden tener mejoras de velocidad muy limitadas, pero actualmente son experimentales.
apc.report_autofilter = Off
;SYS
; Si se deben registrar todos los scripts que no se almacenan en caché automáticamente debido a razones de enlace temprano o tardío.
apc.shm_segments = 1
;SYS
; El número de bloques de memoria compartida asignados para el búfer del compilador (el valor recomendado es 1).
; Si APC se queda sin memoria compartida y la directiva apc.shm_size se ha establecido en el máximo permitido por el sistema,
puede intentar aumentar este valor;
apc.shm_size = 30
; SYS
; El tamaño de cada bloque de memoria compartida (en MB, el valor recomendado es 128~256).
Algunos sistemas (incluidas la mayoría de las variantes de BSD) tienen un tamaño de bloque de memoria compartida predeterminado muy pequeño.
apc.slam_defense = 0
;SYS (Está en contra del uso de esta instrucción, se recomienda usar la instrucción apc.write_lock)
; En un servidor muy ocupado, ya sea al iniciar un servicio o modificar un archivo,
puede deberse a; Varios procesos intentan almacenar en caché un archivo al mismo tiempo. Provoca una condición de carrera.
; Esta directiva se utiliza para establecer el porcentaje en el que el proceso omite el paso de almacenamiento en caché al procesar archivos no almacenados en caché.
Por ejemplo, establecerlo en 75 significa que hay un 75% de probabilidad de no almacenar en caché cuando se encuentra un archivo no almacenado en caché, lo que reduce la posibilidad de colisión.
; Se recomienda establecerlo en 0 para desactivar esta función.
apc.stat = Activado
; SYS
; Si se debe habilitar la verificación de actualización del script.
; Tenga mucho cuidado al cambiar el valor de esta directiva.
El valor predeterminado On indica que APC comprueba si el script se ha actualizado cada vez que se solicita.
Si se actualiza, vuelve a compilar y almacenar en caché el contenido compilado. Sin embargo, hacerlo tiene un impacto negativo en el rendimiento.
; si se establece en Desactivado, no se realiza ninguna comprobación, lo que mejora considerablemente el rendimiento.
; Pero para que el contenido actualizado surta efecto, debes reiniciar el servidor web.
; Esta directiva también es válida para archivos de inclusión/requisito. Pero cabe señalar que
si utiliza una ruta relativa, APC debe comprobar la ubicación del archivo cada vez que lo incluya/requiera.
; El uso de rutas absolutas puede omitir la verificación, por lo que se recomienda utilizar rutas absolutas para operaciones de inclusión/requisito.
apc.user_entries_hint = 100
;SYS
; Similar a la directiva num_files_hint, pero para cada usuario diferente.
; Si no está seguro, configúrelo en 0.
apc.write_lock = Activado
; SYS
; Si se habilita el bloqueo de escritura.
; En un servidor muy ocupado, ya sea iniciando un servicio o modificando un archivo,
una condición de carrera puede resultar de múltiples procesos que intentan almacenar en caché un archivo al mismo tiempo.
; Habilite esta directiva para evitar condiciones de carrera.
apc.rfc1867 = Desactivado
;SYS
; Después de activar esta directiva, para cada archivo cargado que contenga el campo APC_UPLOAD_PROGRESS justo antes del campo del archivo,
APC creará automáticamente una entrada de caché de usuario para upload_ (es decir, el valor del campo APC_UPLOAD_PROGRESS).
3. Función
apc_cache_info: recupera información almacenada en caché (y metadatos) del almacén de datos de APC.
apc_clear_cache: borra la caché de APC
apc_define_constants: define un conjunto de constantes para su posterior recuperación y definición masiva
apc_delete: elimina una variable almacenada del caché
apc_fetch: recupera una variable almacenada del caché
apc_load_constants: carga un conjunto de constantes del caché
apc_sma_info: recupera la información de asignación de memoria compartida de APC
apc_store: almacenar en caché una variable en el almacén de datos.
El uso de apc es relativamente simple, con solo unas pocas funciones, que se enumeran a continuación.
apc_cache_info () devuelve información de la caché
apc_clear_cache() borra el contenido de la caché de apc.
De forma predeterminada (sin parámetros), solo se borra el caché del sistema. Para borrar el caché del usuario, use el parámetro 'usuario'.
apc_define_constants (clave de cadena, constantes de matriz [, bool sensible a mayúsculas y minúsculas]) Agregue constantes de matriz al caché como constantes.
apc_load_constants (clave de cadena).
Elimina el caché constante.
apc_store (clave de cadena, var mixta [, int ttl]).
Guardar datos en caché.
apc_fetch (clave de cadena).
Obtenga el contenido de la caché apc_delete (clave de cadena) guardado por apc_store
.
Elimina el contenido guardado por apc_store.
Administración de apc:
vaya a pecl.php.net para descargar el paquete de código fuente de apc y allí está apc.php, cópielo en un lugar donde su servidor web pueda acceder y navegue para acceder a él.
Las funciones de la interfaz de administración son:
1. Actualizar datos
2. Ver estadísticas del host
3. Entradas de la caché del sistema
4. Entradas de la caché del usuario
5. Verificación de versión