Solucionar la advertencia de Nextcloud "PHP OPcache no está configurado correctamente"

Si Nextcloud informa que "PHP OPcache no está configurado correctamente" , la solución no consiste en copiar y pegar un extenso bloque de configuración de una publicación antigua de un foro. Primero, identifique qué límite o configuración de OPcache está causando el problema en Nextcloud y, a continuación, modifique la configuración de PHP que utiliza su servidor web.

En la documentación de administración actual de Nextcloud 35, OPcache se considera una capa importante para el rendimiento de PHP. Nextcloud indica que su panel de administración muestra una advertencia cuando el límite de tamaño de OPcache supera el 90 % de su capacidad asignada. También exige que se conserven los comentarios del código en caché. El manual de PHP documenta las directivas pertinentes y sus valores predeterminados. Esta información le ofrece una forma más segura de optimizar OPcache: aumente solo el recurso limitado, mantenga habilitado el comportamiento necesario y evite cambios que compliquen las actualizaciones, a menos que tenga una razón justificada para ello.

Vista general de la administración de Nextcloud que muestra una advertencia de configuración de PHP OPcache cerca de la parte superior de la página.
Esta advertencia debe interpretarse como una pista de diagnóstico: identifique la restricción específica de OPcache antes de modificar los límites de memoria o de número de archivos.

Qué suele significar la advertencia de Nextcloud OPcache.

OPcache almacena el código de bytes PHP compilado en memoria compartida, de modo que PHP no tiene que analizar y compilar los mismos archivos de la aplicación en cada solicitud. Nextcloud lo describe como una función de rendimiento, y PHP incluye Zend OPcache en su núcleo desde la versión 5.5.

La advertencia puede aparecer por más de una razón. Los casos más comunes son que la capacidad de OPcache esté casi llena, que OPcache esté deshabilitado para la SAPI web o que se haya cambiado un comportamiento requerido, como la conservación de comentarios. La guía de ajuste actual de Nextcloud indica que se muestra una advertencia de tamaño cuando el límite de tamaño de OPcache supera el 90 % de su asignación, y requiere explícitamente opcache.save_comments = 1.

Referencias oficiales: Guía de optimización del servidor Nextcloud y OPcache , notas de configuración de PHP para Nextcloud y configuración de tiempo de ejecución de PHP OPcache .

Elija la solución en función de la advertencia, no un bloque que sirva para todos los casos.

SituaciónEl mejor primer cambioCompensación
La memoria OPcache está por encima del umbral de advertencia de Nextcloud.Aumentar opcache.memory_consumptionmoderadamenteUtiliza más RAM compartida, pero reduce la rotación de la caché.
Las cadenas internas están casi llenasAumentaropcache.interned_strings_bufferConsume memoria compartida adicional; aumentar límites no relacionados no aporta ningún beneficio.
Las ranuras de scripts/archivos en caché están casi llenas.Aumentaropcache.max_accelerated_filesUna tabla hash más grande utiliza más memoria.
OPcache está deshabilitadoConfiguración opcache.enable=1PHP para la webNormal y recomendado para Nextcloud; verifique el SAPI correcto.
opcache.save_commentsestaba discapacitadoColocaropcache.save_comments=1No hay ninguna razón significativa específica de Nextcloud para deshabilitarlo; Nextcloud requiere que se conserven los comentarios.

Actualmente, PHP muestra valores predeterminados de 128 MB para opcache.memory_consumption, 8 MB para opcache.interned_strings_buffery 10 000 para opcache.max_accelerated_files. Estos valores son puntos de referencia, no objetivos universales de Nextcloud. Un servidor personal pequeño puede funcionar bien con valores cercanos, mientras que una instalación más grande con muchas aplicaciones puede necesitar más capacidad.

Paso 1: Confirme qué configuración de PHP utiliza realmente Nextcloud.

Este es el paso que evita muchas correcciones fallidas. Nextcloud documenta que el servidor web y PHP de línea de comandos pueden cargar diferentes archivos de configuración. En sistemas de estilo Debian y Ubuntu, las rutas comunes incluyen /etc/php/<version>/fpm/php.ini, /etc/php/<version>/apache2/php.ini, y /etc/php/<version>/cli/php.ini.

Ejecute el comando php --inipara ver la configuración de la CLI, pero no asuma que es el mismo archivo que utilizan PHP-FPM o Apache. Para la SAPI web, utilice una phpinfo()página temporal solo si puede protegerla y eliminarla inmediatamente, o bien, inspeccione la configuración del grupo/servicio de PHP-FPM y los archivos de módulo específicos de la distribución.

Recomendación: si Nextcloud se ejecuta detrás de Nginx o Apache con PHP-FPM, modifique la configuración de FPM OPcache. Si Apache usa mod_php, modifique la configuración de PHP de Apache. Mantenga la configuración de la CLI alineada cuando los procesos en segundo plano requieran el mismo comportamiento, pero recuerde que la advertencia del navegador se genera según la ruta de la solicitud web.

Paso 2: Edite el conjunto más pequeño de directivas OPcache que resuelva el problema.

Editor de texto que muestra un archivo de configuración de OPcache con directivas para habilitar, memoria, cadenas internadas, archivos acelerados y guardar comentarios.
Edite la configuración de OPcache utilizada por la SAPI web. Aumente solo el recurso que está limitado en lugar de copiar indiscriminadamente un preajuste de tamaño excesivo.

A continuación se muestra un ejemplo conservador para un servidor modesto. Considere los valores numéricos como puntos de partida, no como garantías:

[opcache]
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.save_comments=1

Si Nextcloud indica específicamente que la memoria OPcache está casi llena, aumentar de 128 MB a 256 MB puede ser un incremento razonable si el servidor dispone de suficiente RAM libre. Si la advertencia apunta a cadenas internadas o scripts en caché, aumente ese límite en lugar de solo la memoria. En un VPS con memoria limitada, aumentar directamente a 512 MB puede reducir la RAM disponible para los procesos PHP-FPM, la base de datos, Redis y el sistema operativo.

¿Qué ocurre con la configuración de revalidación?

La guía de optimización actual de Nextcloud indica que PHP comprueba por defecto los scripts en caché cada dos segundos y no recomienda modificar esta configuración para todos los usuarios. Aumentar la frecuencia opcache.revalidate_freqde las comprobaciones del sistema de archivos puede reducirla, pero tiene una desventaja operativa: las actualizaciones y modificaciones de la aplicación config.phppueden tardar más en hacerse visibles. Deshabilitar por completo la validación de la marca de tiempo es una medida más drástica y puede dejar código antiguo activo hasta que se borre manualmente la caché de OPcache o se reinicie PHP.

Para la mayoría de los administradores que solo intentan borrar la advertencia, dejen opcache.validate_timestampsque opcache.revalidate_freqel comportamiento sea el habitual a menos que comprendan el flujo de trabajo de implementación. Nextcloud advierte específicamente que un comportamiento inusual después de las actualizaciones puede deberse a código en caché obsoleto cuando se ha modificado la revalidación.

Paso 3: Reinicie el servicio PHP correcto.

Tras modificar un archivo INI, reinicie o recargue el proceso PHP que da servicio a Nextcloud. Algunos ejemplos típicos son systemctl restart php8.2-fpmPHP-FPM o el reinicio/recarga de Apache cuando se utiliza mod_php. Sustituya la versión y el nombre del servicio por los que correspondan a su sistema.

Esto cobra aún más importancia si se modificó el comportamiento de revalidación. Reiniciar el servicio correcto garantiza que se cargue la nueva configuración de OPcache y elimina la ambigüedad sobre el código de bytes obsoleto.

Paso 4: Verifique los valores, pero verifique también la API web.

Terminal que muestra la salida de php --ini y php -i OPcache con el estado habilitado y los valores de configuración de clave.
Las comprobaciones mediante la interfaz de línea de comandos (CLI) son útiles para encontrar archivos INI y confirmar la sintaxis, pero la interfaz web SAPI puede cargar una configuración diferente.

Entre las comprobaciones útiles desde la línea de comandos se incluyen:

php --ini
php -i | grep -i opcache

Estos comandos pueden confirmar que PHP reconoce las directivas, pero solo demuestran la configuración de la CLI. Si la advertencia de Nextcloud persiste, compare la configuración cargada de la SAPI web con el resultado de la CLI. Esto es especialmente importante en sistemas que mantienen árboles cliINI fpmseparados apache2.

Paso 5: Vuelva a comprobar Administración > Resumen

Descripción general de la administración de Nextcloud sin la advertencia de OPcache y con los indicadores de estado normales del sistema.
Tras recargar PHP, actualice Administración > Resumen. La advertencia de OPcache debería desaparecer una vez que la API web utilice los límites adecuados y la configuración necesaria.

Actualice la vista general de administración de Nextcloud después de reiniciar el servicio PHP. Si la advertencia desaparece, la configuración está siendo leída por la SAPI correcta y el umbral informado ya no se supera.

Si el problema persiste, no siga aumentando los valores al azar. Verifique cuatro cosas en orden: si editó el archivo INI correcto, si otro archivo INI cargado posteriormente sobrescribe su configuración, si se reinició el servicio PHP correspondiente y si la advertencia hace referencia a un recurso OPcache diferente al que usted aumentó.

¿Cuánta memoria OPcache debería asignar?

No existe un valor óptimo único. Lo ideal es contar con suficiente margen para que la caché no se acerque constantemente a sus límites, sin que esto afecte negativamente al resto del sistema. Para un VPS pequeño, conviene empezar con una configuración conservadora y controlar la presión sobre la memoria. En una instancia con muchas aplicaciones o un código PHP extenso, 256 MB o más pueden estar justificados cuando el uso real de OPcache muestra que 128 MB son insuficientes. En un servidor grande, el dimensionamiento de la memoria debe considerarse junto con el número de procesos de PHP-FPM y otros servicios compartidos.

La comparación práctica es sencilla: más memoria OPcache puede reducir las eliminaciones de caché y la recompilación, pero menos memoria OPcache deja más RAM disponible para procesos PHP concurrentes y bases de datos. Elija en función del uso medido y la advertencia que informa Nextcloud, no del número máximo que su servidor pueda aceptar.

Errores comunes que hacen que la advertencia persista

  • Edición solo de PHP en la CLI: el navegador sigue utilizando PHP-FPM o mod_php.
  • Aumentar el límite incorrecto: más memoria no soluciona el problema de una tabla de archivos acelerados llena.
  • Si olvida reiniciar el proceso, es posible que el proceso PHP en ejecución aún conserve los valores INI antiguos.
  • Desactivado opcache.save_comments: Nextcloud requiere que se conserven los comentarios.
  • Copiar fragmentos de configuración obsoletos: las guías antiguas pueden recomendar configuraciones de revalidación agresivas que generan problemas de actualización.

Enfoque recomendado según el tipo de servidor.

Servidor Nextcloud personal pequeño: mantenga la configuración predeterminada de revalidación, conserve los comentarios y aumente solo el límite que realmente supere el umbral. Esto minimiza el uso de RAM y las sorpresas operativas.

Servidor multiusuario con mucha carga: supervise el consumo de OPcache y asigne más margen cuando la advertencia del administrador indique presión. Coordine la memoria de OPcache con el dimensionamiento de los procesos de PHP-FPM para que una optimización no genere intercambio de memoria en todo el sistema.

Alojamiento gestionado o imagen de contenedor: primero determine dónde se pretenden sobrescribir las configuraciones de PHP. La edición de un archivo dentro de un contenedor efímero puede desaparecer después de una nueva implementación, mientras que un proveedor puede exponer valores INI personalizados a través de su panel de control o configuración del entorno.

Verificación final

La solución correcta consta de tres partes: el proceso web PHP de Nextcloud tiene OPcache habilitado, el comportamiento requerido opcache.save_comments=1permanece intacto y el recurso OPcache específico que estaba cerca de su capacidad ahora tiene un margen razonable. Una vez que se cumplen estas condiciones y se recarga PHP, la advertencia debería desaparecer sin necesidad de asignar memoria en exceso ni realizar cambios arriesgados en la validación de la caché.

Dejar un comentario

Solucionar la advertencia de Nextcloud "PHP OPcache no está configurado correctamente"

Solucionar la advertencia de Nextcloud "PHP OPcache no está configurado correctamente"

Aprende a diagnosticar y solucionar la advertencia de configuración de PHP OPcache de Nextcloud revisando la API PHP activa, los límites de tamaño, los comentarios y la configuración de revalidación.

Solucionar errores de migración de la base de datos Kopano después de una actualización de la versión de MySQL

Solucionar errores de migración de la base de datos Kopano después de una actualización de la versión de MySQL

Solucione los problemas de migración de la base de datos de Kopano después de una actualización de MySQL o MariaDB revisando las copias de seguridad, las versiones del servidor, los modos SQL, el conjunto de caracteres, el estado del esquema y los registros.

Cómo configurar la autenticación LDAP y Active Directory en Nextcloud

Cómo configurar la autenticación LDAP y Active Directory en Nextcloud

Conecte Nextcloud a LDAP o Active Directory con transporte seguro, filtros de usuarios y grupos, atributos de inicio de sesión y una implementación probada.

Fix Element Android Notifications Without Google Services: UnifiedPush Guide

Fix Element Android Notifications Without Google Services: UnifiedPush Guide

Fix Element Android notifications on de-Googled phones by configuring UnifiedPush, Android permissions, battery settings, and reliable verification tests.

Solucionar la advertencia de Nextcloud "Faltan algunos índices en la base de datos"

Solucionar la advertencia de Nextcloud "Faltan algunos índices en la base de datos"

Solucione la advertencia de Nextcloud sobre índices de base de datos faltantes con el comando oficial occ. Primero, haga una copia de seguridad, previsualice los cambios, ejecute la reparación y verifique el resultado.

Cómo configurar el inicio de sesión único (SSO) con Keycloak en Element Web

Cómo configurar el inicio de sesión único (SSO) con Keycloak en Element Web

Configure el inicio de sesión único (SSO) de Keycloak para Element Web conectando OIDC a Synapse, estableciendo la URL de devolución de llamada exacta, asignando las reclamaciones de usuario y probando el cierre de sesión.

Solucionar el error de arranque de Zimbra "El servidor LDAP no responde": una guía práctica de recuperación.

Solucionar el error de arranque de Zimbra "El servidor LDAP no responde": una guía práctica de recuperación.

Aprenda a diagnosticar y solucionar los fallos de inicio de Zimbra causados ​​por un servidor LDAP que no responde, incluyendo comprobaciones de servicio, DNS, puertos, certificados, URL de LDAP y validación de recuperación.

Cómo configurar el almacenamiento de objetos S3 para ownCloud Infinite Scale

Cómo configurar el almacenamiento de objetos S3 para ownCloud Infinite Scale

Configure el almacenamiento de objetos compatible con S3 para ownCloud Infinite Scale utilizando el controlador s3ng, los metadatos POSIX, la política de buckets, la validación y las comprobaciones de seguridad para la producción.

Solucione el retraso en la cola de correo de Zimbra: vacíe Postfix de forma segura y verifique la entrega.

Solucione el retraso en la cola de correo de Zimbra: vacíe Postfix de forma segura y verifique la entrega.

Aprenda a inspeccionar la cola de mensajes de Zimbra Postfix, identificar los correos diferidos frente a los retenidos, ejecutar un vaciado seguro de la cola y verificar el progreso sin eliminar mensajes.

Cómo configurar Kopano Z-Push para la sincronización móvil ActiveSync

Cómo configurar Kopano Z-Push para la sincronización móvil ActiveSync

Configure Z-Push con Kopano para la sincronización segura de correo electrónico, contactos, calendario y tareas mediante ActiveSync. Compare las opciones de backend e implementación y, a continuación, verifique la configuración móvil.