Fatal Error: Allowed Memory Size of Bytes Exhausted: como resolver

O erro “Fatal error: Allowed memory size of X bytes exhausted” significa que um script PHP tentou usar mais memória do que o limite permitido pelo servidor (a diretiva memory_limit), e o PHP interrompeu o processo. O número de bytes muda de site para site, mas a solução é sempre a mesma: aumentar o limite de memória do PHP — pelo wp-config.php, php.ini, painel de controle ou pedindo ao seu provedor. O padrão do WordPress costuma ser apenas 40–64 MB; 256 MB é o valor recomendado para a maioria dos sites modernos.

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home/site/public_html/wp-includes/plugin.php on line 260
O número de bytes e o arquivo mudam a cada caso — continua sendo o mesmo erro, com a mesma solução.

O primeiro número é o seu limite atual (em bytes — 33554432 são 32 MB, 67108864 são 64 MB, 268435456 são 256 MB); o segundo é quanto o script tentou usar. O valor exato não muda a solução — você aumenta o limite de qualquer forma.”

💡
Dica

O arquivo citado na mensagem (por exemplo plugin.php ou object-cache.php) normalmente não é o culpado — é apenas onde a memória acabou. A causa é a soma de tudo que o site carrega (tema + plugins), não aquele arquivo específico. Não saia editando o arquivo citado.

Para solucionar o problema, precisaremos aumentar o limite de memória do PHP, editando a configuração memory_limit do servidor. Outro limite de PHP comum é o de tamanho de upload — veja como resolver o erro upload_max_filesize.

As 3 configurações de memória

É aqui que muita gente erra e aumenta um limite sem efeito. Existem três configurações diferentes de memória:

Configuração Onde fica O que controla
memory_limit Servidor (php.ini) — definido pelo provedor. O teto real. Nada pode ultrapassá-lo.
WP_MEMORY_LIMIT WordPress (wp-config.php). Limite do site (front-end) — até o teto do servidor.
WP_MAX_MEMORY_LIMIT WordPress (wp-config.php). Limite do painel (wp-admin) — geralmente 256–512M.
⚠️
Atenção

O WP_MEMORY_LIMIT nunca pode ultrapassar o memory_limit do servidor. Se o seu provedor limita o PHP em 128 MB, definir 256 MB no wp-config.php não faz efeito — você precisa aumentar o limite do servidor (php.ini) ou pedir ao suporte. Essa é a causa número 1 de “aumentei e não resolveu”. Vale saber também que o WordPress já tenta elevar sozinho para 40 MB (site único) ou 64 MB (multisite), então o erro só aparece quando algo precisa de mais que isso.

Verificar o limite atual

Antes de mudar qualquer coisa, veja seu limite real em Ferramentas → Saúde do site → Informações → Servidor e procure por “Limite de memória do PHP”. Você também pode criar um arquivo com <?php phpinfo(); ?> e procurar por memory_limit. Anote o valor para confirmar a mudança depois.

Como aumentar o limite de memória

Método 1 — wp-config.php (o jeito WordPress)

O método mais comum. Edite o wp-config.php e, acima da linha /* Isso é tudo, pode parar de editar! */, adicione:

define( 'WP_MEMORY_LIMIT', '256M' ); define( 'WP_MAX_MEMORY_LIMIT', '512M' );
A primeira linha aumenta o limite do site; a segunda, o limite do painel (wp-admin).
⚠️
Atenção

Adicione essas linhas antes de /* Isso é tudo, pode parar de editar! */. Se colocar depois dessa linha, a alteração não terá efeito.

Método 2 — Painel de controle (cPanel)

No cPanel, vá em Software → MultiPHP INI Editor, selecione o domínio, localize memory_limit, defina 256M ou mais, e salve. Isso altera o limite do servidor diretamente — o caminho mais confiável na maioria das hospedagens. (Em versões antigas: Select PHP Version → Options.)

O primeiro passo é acessar o painel de controle da hospedagem do seu site, o cPanel. Para isso, basta acessar http://meusite.com:2082 , alterando meusite.com para o domínio do seu site.

Em seguida, clique em Select PHP Version.

alterar versao do php no cpanel 1

Em seguida, clique em Switch To PHP Options.

register_globals 2

Localize a linha memory_limit , e clique sobre o valor, conforme mostra a imagem a seguir.

memory_limit 1

Escolha o novo valor para alterar o memory_limit do PHP no servidor.

Em seguida clique em Aplicar.

memory_limit 2

Para finalizar, clique em Salvar.

memory_limit 3

Pronto! O erro foi solucionado, e o limite de memória do servidor está alterado.

Método 3 — php.ini

Em VPS ou onde o php.ini por site é permitido, edite o php.ini e defina:

memory_limit = 256M

Método 4 — .htaccess

Em servidores Apache, adicione ao .htaccess na raiz do site:

php_value memory_limit 256M
⚠️
Atenção

Se aparecer um erro 500 depois de adicionar essa linha, seu servidor roda PHP como CGI/FPM, onde o php_value no .htaccess não é permitido. Remova a linha e use o painel ou o php.ini. Servidores Nginx não usam .htaccess.

Método 5 — Pedir ao seu provedor

Como o memory_limit do servidor é o teto real — e muitos planos compartilhados o travam — às vezes só o provedor pode aumentá-lo. É um pedido rotineiro: solicite o aumento do limite de memória do PHP para 256 MB (ou mais).

Se aumentar e o erro voltar

Isto é importante: se você aumentar a memória e o erro voltar, provavelmente há um vazamento de memória (memory leak) — um plugin ou tema mal codado consumindo memória até estourar até o novo limite. Aumentar mais só adia o problema. O fix real é encontrar o culpado:

  • Desative todos os plugins e reative um a um, observando quando o erro volta.
  • Troque para um tema padrão para descartar o tema.
  • Use um plugin de monitoramento como o Query Monitor para ver o que consome memória.
  • Reduza o consumo geral: otimize imagens grandes, remova plugins que não usa e limpe o banco de dados.

Ou seja: mais memória é a solução certa para um site que realmente cresceu; é a solução errada para um script que está se comportando mal.

Verificar a mudança

Depois de aplicar um método, confirme em Ferramentas → Saúde do site → Informações → Servidor → Limite de memória do PHP, ou na sua página phpinfo(), se o novo valor passou a valer. Se ainda mostrar o número antigo, o provedor provavelmente está travando o limite no servidor (veja o Método 5).

Memória que seu site não vai esgotar

Erros de memória constantes são sinal de um plano apertado demais. Na Homehost seu WordPress tem memória PHP generosa e a liberdade de aumentá-la — para plugins pesados, WooCommerce e page builders rodarem sem travar.

Ver planos de hospedagem WordPress

Perguntas frequentes

O que significa “allowed memory size of bytes exhausted”?
Significa que um script PHP tentou usar mais memória do que o limite permitido pelo servidor (a diretiva memory_limit), e o PHP interrompeu o processo. Os números de bytes na mensagem são apenas o seu limite atual e o quanto o script tentou usar — a solução (aumentar o limite) é a mesma, qualquer que seja o valor.
Como aumentar o limite de memória do PHP no WordPress?
Adicione define( ‘WP_MEMORY_LIMIT’, ‘256M’ ); ao wp-config.php, aumente o memory_limit pelo painel (MultiPHP INI Editor do cPanel) ou pelo php.ini, ou adicione uma linha php_value no .htaccess (apenas Apache). 256 MB serve para a maioria dos sites. Em hospedagem compartilhada, o painel ou pedir ao suporte costuma ser o mais fácil.
Aumentei o limite mas o erro continua. Por quê?
Dois motivos comuns. Primeiro, o WP_MEMORY_LIMIT não pode passar do memory_limit do servidor — se o provedor trava o PHP em 128 MB, um valor maior no wp-config.php não faz efeito; aumente o limite do servidor ou peça ao suporte. Segundo, se volta depois de um aumento real, um plugin ou tema está vazando memória; desative os plugins um a um para encontrá-lo.
Por que vejo uma tela branca ou “erro crítico” em vez da mensagem?
A partir do WordPress 5.2, erros fatais são capturados e exibidos como um “erro crítico” genérico, ou como uma tela branca se o PHP parou antes de o WordPress responder. Ative o modo de depuração (WP_DEBUG_LOG) e veja o wp-content/debug.log para encontrar a linha “allowed memory size exhausted” e confirmar que é problema de memória.
Qual valor devo usar para o limite de memória?
256 MB é a recomendação comum e suficiente para a maioria dos sites WordPress. Uma loja WooCommerce grande ou um page builder pesado pode precisar de 512 MB. O padrão do WordPress é apenas 40–64 MB, baixo demais para a maioria dos sites modernos. Aumente para o que seu site precisa, dentro do teto do servidor.

Conclusão

O erro “Allowed memory size of X bytes exhausted” significa que um script PHP ficou sem memória — e qualquer que seja o valor em bytes, a solução é aumentar o limite. Defina o WP_MEMORY_LIMIT no wp-config.php, aumente o memory_limit pelo painel ou php.ini, ou peça ao seu provedor — lembrando que o WordPress não pode passar do teto do servidor. Se o erro volta depois de aumentar, suspeite de um plugin com vazamento de memória em vez de subir o número indefinidamente. E se você vive brigando com limites de memória, esse é o sinal mais claro de que seu site precisa de uma hospedagem com recursos à altura — como os planos de hospedagem WordPress da Homehost.

Este artigo foi útil?

Obrigado pela resposta!
Picture of Gustavo Gallas

Gustavo Gallas

Analista de sistemas, formado pela PUC-Rio. Programador, gestor de redes e diretor da empresa Homehost. Pai do Bóris, seu pet de estimação. Gosta de rock'n'roll, cerveja artesanal e de escrever sobre assuntos técnicos.

Contato: gustavo.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!