Configuración en tiempo de ejecución

El comportamiento de estas funciones se ve afectado por la configuración de php.ini.

La siguiente tabla enumera y explica los ajustes de configuración proporcionados por la extensión WinCache:

Opciones de configuración de WinCache
Nombre Por defecto Mínimo Máximo Cambiable Historial de cambios
wincache.fcenabled "1" "0" "1" PHP_INI_ALL Disponible a partir de WinCache 1.0.0
wincache.fcenabledfilter "NULL" "NULL" "NULL" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.fcachesize "24" "5" "255" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.fcndetect "1" "0" "1" PHP_INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.maxfilesize "256" "10" "2048" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ocenabled "1" "0" "1" PHP_INI_ALL Disponible a partir de WinCache 1.0.0. Eliminada a partir de 2.0.0.0
wincache.ocenabledfilter "NULL" "NULL" "NULL" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0. Eliminada a partir de 2.0.0.0
wincache.ocachesize "96" "15" "255" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0. Eliminada a partir de 2.0.0.0
wincache.filecount "4096" "1024" "16384" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.chkinterval "30" "0" "300" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ttlmax "1200" "0" "7200" PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.enablecli 0 0 1 PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ignorelist NULL NULL NULL PHP_INI_ALL Disponible a partir de WinCache 1.0.0
wincache.namesalt NULL NULL NULL PHP_INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ucenabled 1 0 1 PHP_INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.ucachesize 8 5 85 PHP_INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.scachesize 8 5 85 PHP_INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.rerouteini NULL NULL NULL PHP_INI_SYSTEM Disponible a partir de WinCache 1.2.0. Eliminada a partir de 1.3.7
wincache.reroute_enabled 1 0 1 PHP_INI_SYSTEM | PHP_INI_PERDIR Disponible a partir de WinCache 1.3.7
wincache.srwlocks 1 0 1 PHP_INI_SYSTEM Disponible a partir de WinCache 1.3.6.3. Eliminada a partir de 2.0.0.0
wincache.filemapdir NULL NULL NULL PHP_INI_SYSTEM Disponible a partir de WinCache 1.3.7.4
Para más detalles y definiciones de los modos de PHP_INI_*, vea Dónde se puede realizar un ajuste de configuración.

He aquí una breve explicación de las directivas de configuración.

wincache.fcenabled boolean
Habilita o deshabilita la caché de ficheros.
wincache.fcenabledfilter string
Define una lista separada por comas de identificadores de sitios web de IIS donde debería habilitarse o deshabilitarse la caché de ficheros. Esta opción funciona junto con wincache.fcenabled: si wincache.fcenabled se establece a 1, los sitios enumerados en wincache.fcenabledfilter tendrán la caché de ficheros desactivada; si wincache.fcenabled se establece a 0, los sitios enumerados en wincache.fcenabledfilter tendrán la caché activada.
wincache.fcachesize integer
Define el tamaño máximo de memoria (en megabytes) que se asigna a la caché de ficheros. Si el tamaño total de ficheros en caché excede el valor especificado en este ajuste, se eliminarán los ficheros más antiguos de la caché de ficheros.
wincache.fcndetect boolean
Habilita o deshabilita la detección de notificaciones de cambios en ficheros. Si está soportada la notificación de cambios en ficheros, se usará para refrescar las entradas de la caché de códigos de operación y de ficheros en cuanto los ficheros correspondientes sean modificados en un sistema de ficheros. Si la notificación de cambios en ficheros no está soportada, por ejemplo, al usar la compartición de ficheros en red, wincache hará un sondeo para los cambios en ficheros en intervalos de tiempo regulares especificados por wincache.chkinterval.
wincache.maxfilesize integer
Define el tamaño máximo permitido (en kilobytes) para que un fichero sea almacenado en caché. Si un fichero excede el valor especificado, no será almacenado en caché. Este ajuste se aplica solamente a la caché de ficheros.
wincache.ocenabled boolean
Habilita o deshabilita la caché de códigos de operaciones ("opcodes") Esta opción ha sido eliminada a partir de 2.0.0.0
wincache.ocenabledfilter string
Define una lista separada por comas de identificadores de sitios web de IIS donde se debería habilitar o deshabilitar la caché de códigos de operaciones. Este ajuste funciona junto con wincache.ocenabled: si wincache.ocenabled se establece a 1, los sitios enumerados en wincache.ocenabledfilter tendrán la caché de códigos de operaciones desactivada; si wincache.ocenabled se establece a 0, los sitios enumerados en wincache.ocenabledfilter tendrán la caché de códigos de operaciones activada. Esta opción ha sido eliminada a partir de 2.0.0.0
wincache.ocachesize integer
Define el tamaño máximo de memoria (en megabytes) que se asigna a la caché de códigos de operaciones. Si el tamaño de dicha caché excede el valor especificado se eliminarán de la caché los códigos de operación más antiguos. Observe que el tamaño de la caché de códigos de operaciones debe ser al menos tres veces mayor que el tamaño de la caché de ficheros. Si no fuera así, el tamaño de la caché de códigos de operaciones será aumentada automáticamente. Esta opción ha sido eliminada a partir de 2.0.0.0
wincache.filecount integer
Define cuántos ficheros se preveen que almacene en caché la extensión, para así asignar el tamaño de memoria apropiada en el momento del arranque. Si el número de ficheros excede el valor especificado, WinCache reasignará tanta memoria como sea necesaria.
wincache.chkinterval integer
Define la frecuencia (en segundos) con que la extensión comprobará los cambios en ficheros para refrescar la caché. Si se establece a 0 se deshabilitará el refresco de la caché. Los cambios en ficheros no se verán reflejados en la caché al menos que la entrada de la caché para tales ficheros sea eliminada mediante limpieza ("scavenger"), o la provisión ("pool") de aplicaciones de IIS sea reclicada, o se llame a la función wincache_refresh_if_changed.
wincache.ttlmax integer
Define el tiempo máximo de vida (en segundos) para una entrada de caché que no se esté usando. Si se establece a 0, se desactivará la limpieza de la caché, por lo que las entradas en caché nunca serán eliminadas durante el tiempo de vida del proceso obrero ("worker") de IIS.
wincache.enablecli boolean
Define si la caché se habilita cuando PHP se está ejecutando en modo de línea de comandos (CLI).
wincache.ignorelist string

Define una lista de ficheros que no deberían ser almacenados en caché por la extensión. La lista de ficheros se especifica empleando solamente nombres de ficheros, separados por el símbolo tubería - "|".

Ejemplo #1 Ejemplo de wincache.ignorelist

wincache.ignorelist = "index.php|misc.php|admin.php"

wincache.namesalt string
Define un string que será usado al nombrar los objetos específicos de la extensión que están almacenados en la memoria compartida. Se emplea para evitar conflictos que podrían causarse si otras aplicaciones dentro de un proceso obrero de IIS intenta acceder a la memoria compartida. La longitud del sting namesalt no puede exceder de 8 caracteres.
wincache.ucenabled boolean
Habilita o deshabilita la caché de usuarios.
wincache.ucachesize integer
Define el tamaño máximo de memoria en megabytes que se asigna para la caché de usuario. Si el tamaño total de las variables almacenadas en la caché de usuario excede el valor especificado, se eliminarán las variables más antiguas de la caché.
wincache.scachesize integer
Define el tamaño máximo de memoria en megabytes que se asigna para la caché de sesión. Si el tamaño total de los datos almacenados en la caché de sesión excede el valor especificado, se eliminarán los datos más antiguos de la caché.
wincache.rerouteini string
Especifica una ruta absoluta o relativa al fichero reroute.ini que contiene la lista de funciones de PHP cuya implementación debería ser remplazada con las funciones equivalentes de WinCache. Si se especifica una ruta relativa, se asume que sea relativa a la ubicación del fichero php-cgi.exe. Esta opción ha sido eliminada a partir de 1.3.7. Véase wincache.reroute_enabled para una funcionalidad similar a partir de 1.3.7.
wincache.reroute_enabled boolean
Habilita o deshabilita el redireccionamiento de varias funciones de E/S de ficheros a través de la caché de ficheros.
wincache.srwlocks boolean
Habilita o deshabilita el uso de bloqueos ("locks) de lectura/escritura compartidos. La deshabilitación es útil cuando se dan condiciones de problemas de punto muerto ("deadlock") en WinCache. Esta opción ha sido eliminada a partir de 2.0.0.0
wincache.filemapdir string
Especifica una ruta absoluta al directorio donde WinCache almacenará los ficheros temporales empleados para segmentos de memoria compartida. Este directorio debe estar en la máquina local y no en un sistema de ficheros en la red. Si no se especifica este directorio, WinCache utilizará el fichero de paginación de Windows para todos los segmentos de memoria compartida.