Desempenho e monitorização

Ajustar o limite de memória do WordPress

Revisto a 3 min de leitura wordpress memoria

Um erro Allowed memory size exhausted indica que uma execução PHP atingiu o seu limite de memória. Antes de o aumentar, identifique que operação falha e que plugin, tema ou processo aparece no registo.

Fatal error: Allowed memory size of ... bytes exhausted

Três valores distintos

  • memory_limit do PHP: limite efetivo de memória de uma execução.
  • Constantes do WordPress: valores que o WordPress tenta pedir ao PHP para determinadas tarefas.
  • Memória do alojamento: capacidade partilhada pelos processos da conta; aumentar uma constante não amplia o plano.

O WordPress pode tentar elevar o limite através do PHP se o ambiente permitir alterá-lo. Não está necessariamente limitado ao valor inicial do php.ini, mas também não pode ultrapassar as restrições impostas pelo serviço. Verifique o valor efetivo, não apenas o que escreveu num ficheiro.

Modificar o wp-config.php

Guarde uma cópia fora da raiz pública. Procure se as constantes já existem e altere os seus valores sem as duplicar. Este exemplo pede 128 MB para o uso geral e 256 MB para os contextos em que o WordPress eleva a memória, como certas tarefas de administração:

define('WP_MEMORY_LIMIT', '128M');
define('WP_MAX_MEMORY_LIMIT', '256M');

São valores de exemplo, não uma recomendação universal. Coloque-os antes do comentário final de edição e antes de carregar o wp-settings.php. Não acrescente outra etiqueta de abertura PHP se o ficheiro já estiver dentro de um bloco PHP.

A referência de configuração do WordPress explica como pede estas alterações. Se o PHP não admitir a modificação, reveja a configuração da versão utilizada por esse site.

Verificar e localizar a causa

Consulte Ferramentas > Saúde do site > Informação e os dados de servidor e constantes disponíveis. Reproduza a operação que falhava e reveja o registo. O PHP do terminal pode ter uma configuração diferente da do site.

Se o consumo continuar a crescer, reponha a definição e depure o componente responsável numa cópia de testes. Vários pedidos com limites altos podem esgotar a memória conjunta do alojamento. Não utilize memória ilimitada como solução geral para importações ou processos sem controlo.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.