He aquí una breve explicación de
las directivas de configuración.
-
opcache.enable
boolean
-
Habilita la caché de opcode. Cuando está deshabilitado, el código no es
optimizado o almacenado en caché. El ajuste opcache.enable
no puede ser
habilitado en tiempo de ejecución enabled at runtime a través de ini_set(), solamente puede
ser deshabilitado. Intentar habilitarlo en un script gernerará una advertencia.
-
opcache.enable_cli
boolean
-
Habilita la caché de opcode para la versión CLI de PHP.
-
opcache.memory_consumption
integer
-
EL tamaño del almacén de memoria compartida utilizado por OPcache, en megabytes.
-
opcache.interned_strings_buffer
integer
-
La cantidad de memoria utilizada para almacenar cadenas, en megabytes.
Esta directiva de configuración es ignorada en PHP < 5.3.0.
-
opcache.max_accelerated_files
integer
-
El número máximo de claves (y por lo tanto, de scripts) en la tabla de hash
de OPcache. El valor que realmente se utilizará será el primer número
en el conjunto de los números primos
{ 223, 463, 983, 1979, 3907, 7963, 16229, 32531, 65407, 130987 }
que sea mayor o igual al valor configurado. El valor mínimo es 200. El valor
máximo es 100000 en PHP < 5.5.6, y 1000000 en versiones posteriores.
-
opcache.max_wasted_percentage
integer
-
El porcentaje máximo de memoria desperdiciada que está permitida antes de
que un reinicio sea programado.
-
opcache.use_cwd
boolean
-
Si está habilitada, OPcache añade el directorio de trabajo actual a la
clave del script, eliminado así las posibles colisiones entre ficheros con el
mismo nombre base. Deshabilitar esta directiva mejora el rendimiento pero
podría generar problemas en aplicaciones existentes.
-
opcache.validate_timestamps
boolean
-
Si está habilitado, OPcache consultará por scripts actualizados cada
opcache.revalidate_freq
segundos. Cuando esta directiva está deshabilitada, se debe reiniciar OPcache
de forma manual mediante opcache_reset(),
opcache_invalidate() o reiniciando el servidor web
para que los cambios en el sistema de ficheros tomen efecto.
-
opcache.revalidate_freq
integer
-
La frecuencia de verificación de las marcas temporales de Unix de los scripts por actualizaciones, en segundos.
0
hará que OPcache consulte por actualizaciones en
cada petición.
Esta directiva de configuración es ignorada si
opcache.validate_timestamps
está deshabilitada.
-
opcache.revalidate_path
boolean
-
Si está deshabilitada, los ficheros cacheados existentes que usen el mismo
include_path serán reutilizados.
Por lo tanto, si un fichero con el mismo nombre está en algún otro lado
del include_path, no será encontrado.
-
Si está deshabilitada, todos los comentarios de la documentación serán elliminados de la
caché de opcode para reducir el tamaño del código optimizado. Deshabilitar esta
directiva de configuración podría generar problemas en aplicaciones y frameworks que dependen
del análisis de comentarios para anotaciones, incluyendo Doctrine, Zend Framework 2
y PHPUnit.
-
Si está deshabilitada, los comentarios de la documentación no serán cargados de la caché
de opcode aun si éstos existen. Esto puede ser usado junto con
opcache.save_comments
para cargar sólo los comentarios para las aplicaciones que los requieran.
-
opcache.fast_shutdown
boolean
-
Si está habilitada, una secuencia de apagado rápida es utilizada que no libera cada
bloque asignado sino que depende del gestor de memoria del Zend Engine para
rescindir del conjunto de variables de petición completo.
Esta directiva ha sido eliminada en PHP 7.2.0. Se ha integrado una variante
de la secuencia de apagado rápido en PHP, y será usada automáticamente
si es posible.
-
opcache.enable_file_override
boolean
-
Cuando está habilitada, la caché de opcode será consultado para determinar
si un fichero ya ha sido cacheado cuando file_exists(),
is_file() y is_readable() son llamadas.
Esto puede incrementar el rendimiento en aplicaciones que chequean la existencia
y legibilidad de los scripts PHP, pero arriesgando devolver datos obsoletos
si
opcache.validate_timestamps
está deshabilitada.
-
opcache.optimization_level
integer
-
Un bitmask que controla cúales permisos de optimización son ejecutados.
-
opcache.inherited_hack
bool
-
Esta directiva de configuración es ignorada.
-
opcache.dups_fix
boolean
-
Este hack debería estar habilitado para funcionar sólo para evitar
errores "Cannot redeclare class".
-
opcache.blacklist_filename
string
-
La ubicación del fichero de blacklist de OPcache. Un fichero blacklist es un texto
que contiene los nombres de los ficheros que no deberían ser acelerados, uno
por línea. Se permiten comodines, y prefijos también pueden ser provistos.
Las líneas que comienzen con un punto y coma son ignoradas como comentarios.
Un fichero blacklist simple luciría así:
-
opcache.max_file_size
integer
-
El tamaño de fichero máximo que será almacenado en caché, en bytes. Si es
0
, todos los ficheros serán almacenados en caché.
-
opcache.consistency_checks
integer
-
Si es distinto de cero, OPcache verificará el checksum de la caché cada N peticiones,
donde N es el valor de esta directiva de configuración. Esto debería sólo estar
habilitado durante la depuración ya que puede tener un impacto negativo en el rendimiento.
-
opcache.force_restart_timeout
integer
-
La cantidad de tiempo a esperar el comienzo de un reinicio programado
si la caché no está activa, en segundos. Si se acaba el tiempo, entonces
OPcache asume que algo anda mal y terminará todos los procesos que bloqueen
la caché para permitir un reinicio.
Si
opcache.log_verbosity_level
es 2 o más, una advertencia será guardada en el registro de errores si
esto ocurre.
-
opcache.error_log
string
-
El registro de errores de errores de OPcache. Una cadena vacía es tratada de igual forma que
stderr
, y resultará en registros siendo enviados a
errores estándar (que será el registro de errores del servidor Web en la mayoría de los casos).
-
opcache.log_verbosity_level
integer
-
El nivel de verbosidad del registro. Por defecto, sólo los errores fatales (nivel 0) y
errores (nivel 1) son registrados. Otros niveles disponibles son advertencias (nivel
2), mensajes de información (nivel 3) y mensajes de depuración (nivel 4).
-
opcache.preferred_memory_model
string
-
El modelo de memoria principal que utilizará OPcache. Si se deja vacío,
OPcache seleccionará el modelo más apropiado, el cual es el comportamiento
correcto en prácticamente todos los casos.
Los valores posibles incluyen mmap
, shm
,
posix
y win32
.
-
opcache.protect_memory
boolean
-
Protege la memoria compartida de escrituras inesperadas mientras se ejecutan
scripts. Esto es útil sólo para depuración interna.
-
opcache.mmap_base
string
-
La base usada para los segmentos de memoria compartida en Windows.
Todos los procesos PHP deben mapear la memoria compartida con el mismo
espacio de direcciones. Utilizando esta directiva se corrigen los errores
"Unable to reattach to base address".
-
opcache.restrict_api
string
-
Permite llamar a funciones de la API de OPcache solamente desde scripts de PHP cuya ruta
comience con la cadena especificada. El valor predeterminado de "" significa sin restricciones.
-
opcache.file_update_protection
string
-
Previene de almacenar en caché ficheros que estén menos que este número de segundos.
Protege del almacenamiento en caché de ficheros no actualizados completamente. En caso de que todas
las actualizaciones de ficheros del sitio sean atómicas, se puede aumentar el rendimiento estableciéndolo a "0".
-
opcache.huge_code_pages
string
-
Habilita o inhabilita la copia de código de PHP (segmento de texto) a HUGE PAGES.
Esto debería mejorar el rendimiento, aunque requiere una configuración apropiada del SO.
-
opcache.lockfile_path
string
-
Ruta absoluta usada para almacenar shared lockfiles compartidos (solo para *nix)
-
opcache.opt_debug_level
string
-
Produce volcados de opcode para depurar diferentes escenarios de optimización.
0x10000 generará opcodes a medida que el compilador los haya producido antes de ocurra cualquier optimización,
mientras que 0x20000 generará códigos optimizados.
-
opcache.file_cache
string
-
Habilita y establece el segundo nivel de directorio de caché. Debería mejorar
el rendimiento cuando la memoria SHM esté llena, cuando se reinicie el servidor o se restablezca la SHM. El
valor predeterminado "" inhabilita el almacenamiento en cache basado en ficheros.
-
opcache.file_cache_only
boolean
-
Habilita o inhabilita el almacenamiento de opcodes en memoria compartida.
-
opcache.file_cache_consistency_checks
boolean
-
Habilita o inhabilita la validación del checksum cuando un script sea cargado desde la caché de ficheros.
-
opcache.file_cache_fallback
boolean
-
Implica opcache.file_cache_only=1 para ciertos procesos que fallan al
volver a vincularse a la memoria conpartida (solo Windows). Es necesaria la caché
de ficheros explícitamente.
Precaución
La inhabilitación de esta opción de configuración puede evitar el inicio de procesos,
por lo que está desaconsejado.
-
opcache.validate_permission
boolean
-
Valida los permisos de ficheros almacenados en caché con el usuario en uso.
-
opcache.validate_root
boolean
-
Evita la colisión de nombres en entornos con chroot. Debe estar habilitado en
todos los entornos con chroot para evitar el acceso a ficheros fuera de chroot.
-
opcache.preload
string
-
Especifica un script de PHP que va a ser compilado y ejecutado en el arranque del servidor,
lo que podría precargar otros ficheros, ya sea con include o
usando la función opcache_compile_file(). Todas las entidades (p. ej.
funciones y clases) definidas en estos ficheros estarán disponibles para peticiones listas
para usar, hasta que el servidor sea apagado.
-
opcache.preload_user
string
-
La precarga de código como «root» no está permitida por razones de seguridad. Esta directiva
facilita que la precarga se ejecute como otro usuario.