CakeFest 2024: The Official CakePHP Conference

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" INI_ALL Disponible a partir de WinCache 1.0.0
wincache.fcenabledfilter "NULL" "NULL" "NULL" INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.fcachesize "24" "5" "255" INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.fcndetect "1" "0" "1" INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.maxfilesize "256" "10" "2048" INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ocenabled "1" "0" "1" INI_ALL Disponible a partir de WinCache 1.0.0. Eliminada a partir de 2.0.0.0
wincache.ocenabledfilter "NULL" "NULL" "NULL" INI_SYSTEM Disponible a partir de WinCache 1.0.0. Eliminada a partir de 2.0.0.0
wincache.ocachesize "96" "15" "255" INI_SYSTEM Disponible a partir de WinCache 1.0.0. Eliminada a partir de 2.0.0.0
wincache.filecount "4096" "1024" "16384" INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.chkinterval "30" "0" "300" INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ttlmax "1200" "0" "7200" INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.enablecli 0 0 1 INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ignorelist NULL NULL NULL INI_ALL Disponible a partir de WinCache 1.0.0
wincache.namesalt NULL NULL NULL INI_SYSTEM Disponible a partir de WinCache 1.0.0
wincache.ucenabled 1 0 1 INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.ucachesize 8 5 85 INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.scachesize 8 5 85 INI_SYSTEM Disponible a partir de WinCache 1.1.0
wincache.rerouteini NULL NULL NULL INI_SYSTEM Disponible a partir de WinCache 1.2.0. Eliminada a partir de 1.3.7
wincache.reroute_enabled 1 0 1 INI_SYSTEM|INI_PERDIR Disponible a partir de WinCache 1.3.7
wincache.srwlocks 1 0 1 INI_SYSTEM Disponible a partir de WinCache 1.3.6.3. Eliminada a partir de 2.0.0.0
wincache.filemapdir NULL NULL NULL INI_SYSTEM Disponible a partir de WinCache 1.3.7.4
Para más detalles y definiciones de los modos de 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 bool
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 int
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 bool
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 int
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 bool
Advertencia

Esta opción ha sido eliminada a partir de 2.0.0.0

Habilita o deshabilita la caché de códigos de operaciones ("opcodes")
wincache.ocenabledfilter string
Advertencia

Esta opción ha sido eliminada a partir de 2.0.0.0

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.
wincache.ocachesize int
Advertencia

Esta opción ha sido eliminada a partir de 2.0.0.0

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.
wincache.filecount int
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 int
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 int
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 bool
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 bool
Habilita o deshabilita la caché de usuarios.
wincache.ucachesize int
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 int
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
Advertencia

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.

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.
wincache.reroute_enabled bool
Habilita o deshabilita el redireccionamiento de varias funciones de E/S de ficheros a través de la caché de ficheros.
wincache.srwlocks bool
Advertencia

Esta opción ha sido eliminada a partir de 2.0.0.0

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.
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.

add a note

User Contributed Notes 2 notes

up
2
ericsten at php dot net
9 years ago
[Editor's note: fixed typo]

Just a quick note about something I've discovered through debugging a recent WinCache issue:

If you change the wincache.scachesize value, you MUST shutdown all php-cgi.exe instances and manually delete the wincache_session_*.tmp file.

The wincache_session_*.tmp file will in the directory specified by session.save_path in the php.ini file.

An example session file name would look like: wincache_session_1_565779.tmp

If you don't delete this file, you will run into corruption in cross-process shared memory segments for the WinCache session handler. These will show up as 500 errors from your IIS server.

Thx!

--E.
up
0
software journalist
4 years ago
wincache.php showed in Session Cache Overview that the Available Memory was returning NAN B.

A Google search returned nothing specific to this.

Stopping the App Pool and Deleting the *session*.tmp file in the windows temp directory solved this issue. (Thanks to previous noter)
To Top