Início
» ADMINISTRADOR DE REDE
»
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”
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.
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...
Escolha a correção com base no aviso, não em um bloqueio genérico.
Situação
Melhor primeira mudança
Troca
A memória do OPcache está acima do limite de aviso do Nextcloud.
Aumentar opcache.memory_consumptionmoderadamente
Utiliza mais RAM compartilhada, mas reduz a rotatividade do cache.
As strings internadas estão quase cheias
Aumentaropcache.interned_strings_buffer
Consome 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_files
Uma tabela hash maior utiliza mais memória.
OPcache está desativado
Configuração opcache.enable=1PHP para a web
Normal e recomendado para Nextcloud; verifique o SAPI correto.
opcache.save_commentsestava deficiente
Definiropcache.save_comments=1
Nã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.
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:
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.
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
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.