Corrigir aviso do Nextcloud: “O cache OP do PHP não está configurado corretamente”

Se o Nextcloud reportar a mensagem “O OPcache do PHP não está configurado corretamente” , a solução adequada não é copiar um extenso trecho de código de uma postagem antiga de um fórum. Primeiro, identifique qual limite ou configuração do OPcache o Nextcloud está contestando e, em seguida, altere a configuração do PHP que está sendo usada pelo seu servidor web.

Na documentação de administração do Nextcloud 35, o OPcache é tratado como uma importante camada de desempenho do PHP. O Nextcloud afirma que seu painel de administração exibe um aviso quando o limite de tamanho do OPcache excede 90% da capacidade alocada. Ele também exige que os comentários de código em cache sejam preservados. O próprio manual do PHP documenta as diretivas relevantes e seus valores padrão. Essas informações oferecem uma maneira mais segura de otimizar o OPcache: aumente apenas o recurso limitado, mantenha os comportamentos necessários ativados e evite alterações que compliquem as atualizações, a menos que haja um motivo para elas.

Visão geral da administração do Nextcloud mostrando um aviso de configuração do PHP OPcache próximo ao topo da página.
O aviso deve ser tratado como uma pista de diagnóstico: identifique a restrição específica do OPcache antes de alterar os limites de memória ou de contagem de arquivos.

O que o aviso do Nextcloud OPcache geralmente significa?

O OPcache armazena o bytecode PHP compilado em memória compartilhada, de forma que o PHP não precise analisar e compilar os mesmos arquivos de aplicação a cada requisição. O Nextcloud descreve isso como um recurso de desempenho, e o PHP inclui o Zend OPcache em seu núcleo desde a versão 5.5.

O aviso pode aparecer por mais de um motivo. Os casos mais comuns são: a capacidade do OPcache está próxima do limite, o OPcache está desativado para a SAPI da web ou um comportamento necessário, como a preservação de comentários, foi alterado. O guia de ajuste atual do Nextcloud afirma que um aviso de dimensionamento é exibido quando o limite de tamanho do OPcache excede 90% de sua alocação e exige explicitamente opcache.save_comments = 1...

Referências oficiais: Guia de ajuste do servidor Nextcloud e OPcache , Notas de configuração do PHP no Nextcloud e Configuração de tempo de execução do OPcache em PHP .

Escolha a correção com base no aviso, não em um bloqueio genérico.

SituaçãoMelhor primeira mudançaTroca
A memória do OPcache está acima do limite de aviso do Nextcloud.Aumentar opcache.memory_consumptionmoderadamenteUtiliza mais RAM compartilhada, mas reduz a rotatividade do cache.
As strings internadas estão quase cheiasAumentaropcache.interned_strings_bufferConsome memória compartilhada adicional; aumentar os limites não relacionados não traz benefícios.
Os espaços em cache para scripts/arquivos estão quase cheios.Aumentaropcache.max_accelerated_filesUma tabela hash maior utiliza mais memória.
OPcache está desativadoConfiguração opcache.enable=1PHP para a webNormal e recomendado para Nextcloud; verifique o SAPI correto.
opcache.save_commentsestava deficienteDefiniropcache.save_comments=1Não há nenhuma razão específica do Nextcloud que justifique desativá-lo; o Nextcloud exige que os comentários sejam preservados.

O PHP atualmente lista valores padrão de 128 MB para ` opcache.memory_consumption/etc/php`, 8 MB para ` opcache.interned_strings_buffer/etc/php` e 10.000 MB para `/etc/ opcache.max_accelerated_filesphp`. Esses valores padrão são pontos de referência, não metas universais do Nextcloud. Um pequeno servidor pessoal pode funcionar bem próximo a esses valores, enquanto uma instalação maior com muitos aplicativos pode precisar de mais espaço livre.

Passo 1: Confirme qual configuração PHP o Nextcloud está usando.

Esta é a etapa que evita muitas correções malsucedidas. A documentação do Nextcloud indica que o servidor web e o PHP de linha de comando podem carregar arquivos de configuração diferentes. Em sistemas do tipo Debian e Ubuntu, os caminhos comuns incluem /etc/php/<version>/fpm/php.ini, /etc/php/<version>/apache2/php.ini, e /etc/php/<version>/cli/php.ini.

Execute o comando php --inipara visualizar a configuração da CLI, mas não assuma que seja o mesmo arquivo usado pelo PHP-FPM ou Apache. Para a SAPI web, use uma phpinfo()página temporária somente se puder protegê-la e removê-la imediatamente, ou inspecione a configuração do seu pool/serviço PHP-FPM e os arquivos de módulo específicos da distribuição.

Recomendação: se o Nextcloud estiver rodando atrás de Nginx ou Apache com PHP-FPM, modifique a configuração do OPcache do FPM. Se o Apache usar mod_php, modifique a configuração do PHP no Apache. Mantenha a configuração da CLI alinhada quando tarefas em segundo plano precisarem do mesmo comportamento, mas lembre-se de que o aviso do navegador é gerado pelo caminho da requisição web.

Passo 2: Edite o menor conjunto de diretivas OPcache que resolva o problema.

Editor de texto exibindo um arquivo de configuração do OPcache com as diretivas enable, memory, internated strings, accelerated files e save comments.
Edite a configuração do OPcache usada pela SAPI da web. Aumente apenas o recurso que está com restrições, em vez de copiar indiscriminadamente uma configuração predefinida superdimensionada.

Abaixo, apresentamos um exemplo conservador para um servidor modesto. Considere os valores numéricos como pontos de partida, não como garantias:

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

Se o Nextcloud indicar especificamente que a memória do OPcache está quase cheia, aumentar de 128 MB para 256 MB pode ser uma alteração incremental razoável quando o servidor tiver RAM livre suficiente. Se o aviso apontar para strings internadas ou scripts em cache, aumente esse limite em vez de apenas a memória. Em um VPS com memória limitada, aumentar diretamente para 512 MB pode reduzir a RAM disponível para os processos do PHP-FPM, o banco de dados, o Redis e o sistema operacional.

E quanto às configurações de revalidação?

O guia de otimização atual do Nextcloud afirma que o PHP, por padrão, verifica se há alterações nos scripts em cache a cada dois segundos e não recomenda alterar esse padrão para todos. Aumentar o intervalo de verificação opcache.revalidate_freqpode reduzir as verificações do sistema de arquivos, mas a desvantagem é operacional: atualizações e edições de aplicativos config.phppodem demorar mais para serem refletidas. Desativar completamente a validação de timestamp é uma medida mais drástica e pode deixar código antigo ativo até que o OPcache seja limpo manualmente ou o PHP seja reiniciado.

Para a maioria dos administradores que tentam apenas eliminar o aviso, deixe o Nextcloud funcionar normalmente opcache.validate_timestamps, opcache.revalidate_freqa menos que você entenda o fluxo de trabalho de implantação. O Nextcloud alerta especificamente que comportamentos incomuns após atualizações podem resultar de código em cache desatualizado quando a revalidação foi alterada.

Passo 3: Reinicie o serviço PHP correto.

Após alterar um arquivo INI, reinicie ou recarregue o processo PHP que serve o Nextcloud. Exemplos típicos incluem systemctl restart php8.2-fpmo PHP-FPM ou a reinicialização/recarga do Apache quando o mod_php estiver em uso. Substitua a versão e o nome do serviço pelos valores reais que seu sistema utiliza.

Isso é ainda mais importante se você alterou o comportamento de revalidação. Reiniciar o serviço correto garante que a nova configuração do OPcache seja carregada e elimina ambiguidades sobre bytecode desatualizado.

Etapa 4: Verifique os valores, mas verifique também o SAPI da web.

Terminal exibindo a saída dos comandos `php --ini` e `php -i` do OPcache, com o status de ativação e os valores de configuração das chaves.
As verificações da CLI são úteis para encontrar arquivos INI e confirmar a sintaxe, mas a SAPI da web pode carregar uma configuração diferente.

Algumas verificações úteis na linha de comando incluem:

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

Esses comandos podem confirmar que o PHP reconhece as diretivas, mas comprovam apenas a configuração da CLI. Se o aviso do Nextcloud persistir, compare a configuração carregada pela SAPI web com o resultado da CLI. Isso é especialmente importante em sistemas que mantêm árvores separadas de arquivos .php cli, fpm.bashrc e apache2.ini.

Etapa 5: Verificar novamente a administração > Visão geral

Visão geral da administração do Nextcloud sem o aviso do OPcache e com indicadores de status do sistema normais.
Após recarregar o PHP, atualize Administração > Visão geral. O aviso do OPcache deverá desaparecer assim que a SAPI da web estiver utilizando os limites adequados e as configurações necessárias.

Atualize a visão geral da administração do Nextcloud após reiniciar o serviço PHP. Se o aviso desaparecer, a configuração está sendo lida pela SAPI correta e o limite relatado não está mais sendo excedido.

Se o problema persistir, não continue aumentando os valores aleatoriamente. Verifique quatro pontos nesta ordem: se você editou o arquivo INI correto, se outro arquivo INI carregado posteriormente sobrescreveu sua configuração, se o serviço PHP relevante foi reiniciado e se o aviso se refere a um recurso OPcache diferente daquele que você aumentou.

Quanta memória OPcache você deve alocar?

Não existe um valor ideal único. O objetivo útil é ter margem suficiente para que o cache não se aproxime constantemente de seus limites, sem prejudicar o restante da infraestrutura. Para um VPS pequeno, comece de forma conservadora e monitore a pressão sobre a memória. Para uma instância com muitos aplicativos ou um código PHP extenso, 256 MB ou mais podem ser justificados quando o uso real do OPcache mostrar que 128 MB são insuficientes. Em um servidor grande, o dimensionamento da memória deve ser considerado juntamente com a quantidade de processos do PHP-FPM e outros serviços compartilhados.

A comparação prática é simples: mais memória OPcache pode reduzir as remoções de cache e a recompilação, mas menos memória OPcache deixa mais RAM disponível para processos PHP e bancos de dados em execução simultânea. Escolha com base no uso medido e nos avisos exibidos pelo Nextcloud, e não no maior número que seu servidor suporta.

Erros comuns que fazem com que o aviso persista

  • Editando apenas PHP via linha de comando: o navegador ainda usa PHP-FPM ou mod_php.
  • Aumentar o limite incorretamente: mais memória não corrige uma tabela de arquivos acelerados cheia.
  • Esquecendo a reinicialização: o processo PHP em execução ainda pode conter os valores antigos do arquivo INI.
  • Desativar opcache.save_comments: O Nextcloud exige que os comentários sejam preservados.
  • Copiar trechos de código de ajuste desatualizados: guias antigos podem recomendar configurações de revalidação agressivas que criam problemas de atualização.

Abordagem recomendada por tipo de servidor

Servidor Nextcloud pessoal de pequeno porte: mantenha as configurações padrão de revalidação, preserve os comentários e aumente apenas o limite que realmente ultrapasse o limite definido. Isso minimiza o uso de RAM e surpresas operacionais.

Servidor multiusuário com alta carga: monitore o consumo do OPcache e permita mais espaço livre onde o aviso do administrador indicar sobrecarga. Coordene o uso da memória do OPcache com o dimensionamento dos workers do PHP-FPM para que uma otimização não cause swapping em todo o sistema.

Hospedagem gerenciada ou imagem de contêiner: primeiro determine onde as configurações do PHP devem ser sobrescritas. A edição de um arquivo dentro de um contêiner efêmero pode fazer com que ele desapareça após uma nova implantação, enquanto um provedor pode expor valores INI personalizados por meio de seu painel de controle ou configuração de ambiente.

Verificação final

Uma correção adequada envolve três partes: o processo PHP da web do Nextcloud deve ter o OPcache habilitado, o comportamento necessário deve opcache.save_comments=1permanecer intacto e o recurso OPcache específico que estava próximo da capacidade máxima agora deve ter espaço livre suficiente. Assim que essas condições forem atendidas e o PHP for recarregado, o aviso deverá desaparecer sem a necessidade de alocações excessivas de memória ou alterações arriscadas na validação do cache.

Deixar um comentário

Corrigir o alto uso de CPU no Jitsi Meet em navegadores de clientes

Corrigir o alto uso de CPU no Jitsi Meet em navegadores de clientes

Diagnostique picos de uso da CPU no navegador do Jitsi Meet e reduza a carga do cliente verificando os mosaicos de vídeo, os efeitos da câmera, os gráficos do navegador e as configurações do host.

Como monitorar as métricas do Jitsi Videobridge com Prometheus e Grafana

Como monitorar as métricas do Jitsi Videobridge com Prometheus e Grafana

Monitore a integridade, a carga da conferência e o tráfego do Jitsi Videobridge com seu endpoint Prometheus integrado e, em seguida, explore e visualize os dados em gráficos no Grafana.

Como configurar um nome de domínio personalizado para o Jitsi Meet no Docker

Como configurar um nome de domínio personalizado para o Jitsi Meet no Docker

Configure um domínio personalizado para o Jitsi Meet Docker com DNS, URL pública, HTTPS, Let's Encrypt, portas de firewall, configurações de NAT e verificação de ponta a ponta.

Corrigir erro 404 "Console de administração do Zimbra não encontrado" após a renovação do SSL.

Corrigir erro 404 "Console de administração do Zimbra não encontrado" após a renovação do SSL.

Corrija os erros 404 do Console de Administração do Zimbra após a renovação do SSL, verificando o URL e a porta corretos, o roteamento do proxy, o status do serviço, os certificados implantados e os logs.

Corrigir aviso do Nextcloud: “O cache OP do PHP não está configurado corretamente”

Corrigir aviso do Nextcloud: “O cache OP do PHP não está configurado corretamente”

Aprenda a diagnosticar e corrigir o aviso de configuração do PHP OPcache do Nextcloud, verificando o PHP SAPI ativo, os limites de tamanho, os comentários e as configurações de revalidação.

Corrigir erros de migração do banco de dados Kopano após uma atualização da versão do MySQL

Corrigir erros de migração do banco de dados Kopano após uma atualização da versão do MySQL

Solucione problemas de falhas na migração do banco de dados Kopano após uma atualização do MySQL ou MariaDB, verificando backups, versões do servidor, modos SQL, conjunto de caracteres, estado do esquema e logs.

Como configurar a autenticação LDAP e do Active Directory no Nextcloud

Como configurar a autenticação LDAP e do Active Directory no Nextcloud

Conecte o Nextcloud ao LDAP ou Active Directory com transporte seguro, filtros de usuários e grupos, atributos de login e uma implementação testada.

Corrigir notificações do Android sem os serviços do Google: Guia UnifiedPush

Corrigir notificações do Android sem os serviços do Google: Guia UnifiedPush

Corrija as notificações do Element no Android em telefones sem serviços do Google configurando o UnifiedPush, as permissões do Android, as configurações de bateria e realizando testes de verificação confiáveis.

Corrigir o aviso do Nextcloud "Banco de dados com alguns índices ausentes"

Corrigir o aviso do Nextcloud "Banco de dados com alguns índices ausentes"

Remova o aviso de índices de banco de dados ausentes do Nextcloud com o comando oficial occ. Primeiro, faça um backup, visualize as alterações, execute o reparo e verifique o resultado.

Como configurar o Single Sign-On (SSO) com o Keycloak no Element Web

Como configurar o Single Sign-On (SSO) com o Keycloak no Element Web

Configure o SSO do Keycloak para o Element Web conectando o OIDC ao Synapse, definindo a URL de retorno de chamada exata, mapeando as declarações do usuário e testando o logout.