Inicio
» ADMINISTRADOR DE RED
»
Solucionar la advertencia de Nextcloud "PHP OPcache no está configurado correctamente"
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.
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.
Elija la solución en función de la advertencia, no un bloque que sirva para todos los casos.
Situación
El mejor primer cambio
Compensación
La memoria OPcache está por encima del umbral de advertencia de Nextcloud.
Aumentar opcache.memory_consumptionmoderadamente
Utiliza más RAM compartida, pero reduce la rotación de la caché.
Las cadenas internas están casi llenas
Aumentaropcache.interned_strings_buffer
Consume 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_files
Una tabla hash más grande utiliza más memoria.
OPcache está deshabilitado
Configuración opcache.enable=1PHP para la web
Normal y recomendado para Nextcloud; verifique el SAPI correcto.
opcache.save_commentsestaba discapacitado
Colocaropcache.save_comments=1
No 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.
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:
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.
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
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é.