Skip to content

Tudo para WordPress, desenvolvimento web — e não só

⚙️ Como aumentar o limite de memória PHP?

⚙️ Como aumentar o limite de memória PHP?

O seu site foi abaixo com um «white screen of death» depois de instalar um plugin? Ou o WordPress devolveu uma longa sequência de texto com «Allowed memory size exhausted»? Mais cedo ou mais tarde, todos os administradores de sites WordPress se deparam com o limite de memória do PHP. Na nossa experiência, nove em cada dez destes erros podem ser resolvidos em cinco minutos, sem necessidade de chamar um programador.

O problema está no facto de os fornecedores de alojamento definirem um limite padrão modesto: 32, 64 ou 128 megabytes. Para uma instalação limpa do WordPress, isto é suficiente. Mas assim que instala alguns plugins pesados, como o WooCommerce, um construtor de páginas ou um pacote de SEO, a memória esgota-se.

Abaixo estão todos os métodos funcionais para aumentar o limite, do mais simples ao nível do servidor. Escolha o método que se adequa ao seu painel de alojamento: os três primeiros funcionam em todo o lado, enquanto os restantes são para interfaces específicas.

💡 Resumo rápido:

  • Verifique o seu limite de memória atual: em Saúde do Site na administração do WordPress ou através de um ficheiro phpinfo() no servidor
  • A forma mais rápida de aumentar o limite é através do wp-config.php: uma definição e o erro desaparece
  • Se o seu alojamento bloquear o wp-config.php, experimente o php.ini ou o .htaccess
  • Os utilizadores de cPanel, Plesk, GoDaddy, WHM e XAMPP encontrarão instruções separadas abaixo
  • Quando nada funcionar, contacte o seu fornecedor de alojamento ou atualize o seu plano

O que é um erro de memória PHP e porque ocorre

O WordPress funciona em PHP. E o PHP, como qualquer programa num servidor, recebe uma quantidade limitada de RAM do sistema operativo para processar pedidos. O administrador do servidor (ou o fornecedor de alojamento) define este limite nas configurações do PHP através do parâmetro memory_limit.

Quando um script do WordPress tenta usar mais memória do que aquela que lhe foi atribuída, o PHP interrompe a execução e gera um erro fatal. O aspeto é algo deste género:

1Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2348617 bytes) in /home4/xxx/public_html/wp-includes/plugins.php on line xxx

O número 33554432 corresponde a 32 megabytes em bytes. 32M ainda é o padrão em alojamentos baratos, embora há muito que seja insuficiente para um WordPress moderno com alguns plugins. O WordPress recomenda oficialmente um mínimo de 256M. Na prática, aconselhamos definir 256M imediatamente após instalar o CMS: evita muitas frustrações.

Como verificar o seu limite de memória PHP atual

Antes de alterar algo, descubra o seu limite atual. Existem dois métodos simples.

Ferramentas de saúde do site

O WordPress 5.2 e superiores incluem uma «Verificação de Saúde» integrada. Aceda ao painel de administração: Ferramentas → Saúde do Site. Mude para o separador «Informação» e desça até à secção «Servidor». Na linha «Limite de memória PHP», verá o valor atual.

Ferramentas de saúde do site WordPress

Este método funciona desde que o painel de administração esteja acessível. Se o site tiver ido abaixo completamente, passe para o segundo método.

Um ficheiro PHP com phpinfo()

Crie um ficheiro no servidor com qualquer nome, por exemplo info.php, e coloque uma única linha nele:

1<?php phpinfo(); ?>

Carregue o ficheiro para a raiz do site via FTP ou através do gestor de ficheiros do seu alojamento. Em seguida, abra https://your-site.com/info.php num navegador. Localize a linha memory_limit no resultado: o número a seguir é o limite atual do PHP. Depois de verificar, elimine o ficheiro do servidor: deixar o phpinfo() acessível não é seguro.

9 Formas de aumentar o limite de memória do PHP

Os métodos estão organizados do mais simples ao nível do servidor. Os três primeiros funcionam em qualquer alojamento onde tenha acesso aos ficheiros do site. Os restantes são para painéis de controlo específicos.

Método 1: wp-config.php (universal)

O método mais fiável e que funciona em qualquer alojamento. O ficheiro wp-config.php está localizado no diretório raiz do WordPress.

Abra o wp-config.php via FTP ou pelo gestor de ficheiros do cPanel. Encontre a linha:

1/* That's all, stop editing! Happy publishing. */

Imediatamente ANTES desta linha, adicione:

1define('WP_MEMORY_LIMIT', '256M');

Pode alterar o número: 256M é suficiente para a grande maioria dos sites, enquanto 512M é usado para configurações muito pesadas com WooCommerce e muitos plugins. Ultrapassar os 512M é geralmente desnecessário: se mesmo isso não for suficiente, o problema provavelmente está num plugin específico e não no limite.

Guarde o ficheiro e o erro deverá desaparecer imediatamente após atualizar a página. Não é necessário reiniciar o servidor.

Note que alguns alojamentos baratos bloqueiam a substituição do WP_MEMORY_LIMIT via wp-config.php ao nível do servidor. Se este método não funcionar, avance para os seguintes.

Método 2: php.ini

O ficheiro php.ini controla as definições de PHP no servidor. Se o seu alojamento lhe der acesso a ele, este é o segundo método mais fiável.

Encontre o php.ini na raiz do site ou na pasta wp-admin. Em alojamento partilhado, o ficheiro pode não existir, caso em que precisa de o criar.

Editar o php.ini no gestor de ficheiros do alojamento

Se o ficheiro já existir: abra-o, encontre a linha memory_limit e altere o valor para 256M:

1memory_limit = 256M

Guarde e recarregue o site.

Se o ficheiro não existir: crie um ficheiro de texto com o nome php.ini, cole a linha acima nele e carregue-o para a raiz do site ou para a pasta wp-admin. Em alguns alojamentos, o php.ini na raiz é ignorado, por isso coloque-o especificamente em wp-admin.

Verifique o resultado através da Saúde do Site ou da página phpinfo().

Método 3:.htaccess

O ficheiro .htaccess é a configuração do servidor web Apache. Está localizado na raiz do site. Por predefinição, está oculto: no gestor de ficheiros do cPanel, ative a exibição de ficheiros ocultos; no FileZilla, vá a Servidor → Forçar a exibição de ficheiros ocultos.

Editar o .htaccess através do gestor de ficheiros

Transfira o .htaccess para o seu computador (não se esqueça de fazer uma cópia de segurança!), abra-o num editor e adicione a linha:

1php_value memory_limit 256M

Guarde e carregue de volta para o servidor, substituindo o original. Atualize o site.

Este método só funciona no Apache com o mod_php ativado. Em alojamentos com Nginx ou PHP-FPM, a diretiva php_value é ignorada. Nesses casos, use o wp-config.php ou o php.ini.

Método 4: cPanel

O cPanel é o painel de controlo de alojamento mais comum. Existem duas formas de alterar o limite nele.

Opção 1: vá a cPanel → secção SoftwareSelecionar Versão do PHPIr para as Definições do PHP. Encontre memory_limit na lista e defina o valor desejado. As alterações são aplicadas instantaneamente.

Opção 2: cPanel → SoftwareEditor MultiPHP INI. Selecione o seu domínio da lista, desloque-se até memory_limit e altere o número. Este método é mais conveniente se tiver vários sites na conta: cada um pode ter o seu próprio limite.

Método 5: Plesk

O Plesk é uma alternativa popular ao cPanel que funciona tanto em Windows como em Linux.

Painel de controlo de alojamento Plesk

Para alterar o limite de um site específico:

1Plesk → Domains → example.com → PHP Settings → memory_limit

Para alterar o limite globalmente para todos os sites no servidor:

1Plesk → Tools & Settings → PHP Settings → PHP Handler → php.ini

Encontre memory_limit no php.ini aberto e defina um novo valor.

Método 6: GoDaddy

GoDaddy tem a sua própria abordagem: em vez do ficheiro php.ini padrão, utiliza um ficheiro chamado php5.ini.

Gestor de ficheiros do alojamento GoDaddy

Aceda ao painel da GoDaddy → File Manager. No diretório raiz, localize ou crie o ficheiro php5.ini. Adicione o seguinte:

1memory_limit = 256M

Guarde. Depois, vá à secção Statistics & MonitorsSystem Processes → clique em End All. Isto reinicia os processos PHP; sem este passo, as alterações podem não surtir efeito.

Método 7: WHM

O WHM (Web Host Manager) é um painel de servidor usado para administrar contas cPanel. Se tiver um VPS ou servidor dedicado com WHM, inicie sessão e localize o PHP Configuration Editor no menu à esquerda. Na lista que se abre, encontre memory_limit e defina o valor pretendido.

Depois de guardar, o WHM atualizará automaticamente o php.ini em todas as contas do servidor.

Método 8: XAMPP (servidor local)

Se estiver a desenvolver um site localmente no XAMPP, o limite é alterado na própria configuração do XAMPP.

Configurações PHP no servidor local XAMPP

Abra o ficheiro C:\xampp\apache\bin\php.ini (Windows) ou /opt/lampp/etc/php.ini (Linux). Encontre memory_limit e altere o valor. Depois de guardar, reinicie o Apache através do painel de controlo do XAMPP.

Método 9: Contacte o seu alojamento

Se nenhum dos métodos acima funcionou, o motivo é muito provavelmente restrições do plano. Em alojamento partilhado barato, o fornecedor fixa rigidamente o memory_limit ao nível do servidor e não permite que o cliente o altere através de nenhum destes ficheiros.

Escreva ao suporte do seu alojamento e pergunte diretamente: «Qual é o limite de memória PHP no meu plano e pode ser aumentado?» Frequentemente, o suporte aumenta o limite a pedido, gratuitamente. Se não for possível, mude de plano ou de alojamento. Um site WordPress moderno com 256M de memória funciona de forma estável; qualquer valor abaixo disso causará erros à medida que o site cresce.

WP_MEMORY_LIMIT não está a ser aplicado: porquê e o que fazer

Por vezes, o define é adicionado ao wp-config.php, mas o erro persiste. Há três razões:

  • O alojamento bloqueia a substituição. Em alojamento partilhado, o fornecedor pode ignorar o WP_MEMORY_LIMIT ao nível do php_admin_value no Apache: uma diretiva do servidor é mais restritiva do que um define num ficheiro PHP. Solução: use o php.ini ou php5.ini (como no método da GoDaddy), ou contacte o suporte.

  • O ficheiro wp-config.php foi editado com um erro. Certifique-se de que o define é adicionado ANTES da linha /* That's all, stop editing! */ e de que as aspas no código são retas, não «curvas» (editores de texto como o Word por vezes substituem ' por e ). O código deve ser exato:

1define('WP_MEMORY_LIMIT', '256M');
  • O problema não é o limite de memória. O erro «Allowed memory size exhausted» por vezes mascara um problema diferente: um plugin entrou num ciclo infinito ou está a tentar processar demasiados dados. Desative temporariamente todos os plugins através de /wp-admin/plugins.php (se o painel de administração estiver acessível) ou renomeie a pasta /wp-content/plugins/ via FTP. Se o erro desaparecer, ative os plugins um a um para encontrar o culpado.

Vídeo: como aumentar o limite de memória PHP via cPanel

Este pequeno tutorial mostra o processo através do painel cPanel, desde o início de sessão até guardar as configurações. Acompanhe o autor e o erro desaparecerá em poucos minutos.

⁉️🤔 Perguntas frequentes

Qual é o limite de memória PHP ideal para o WordPress?

O WordPress recomenda oficialmente um mínimo de 256M. Na prática: 128M são suficientes para um blogue com alguns plugins, para um site com WooCommerce e um page builder defina 256M, e para uma loja grande ou multisite defina 512M. Ultrapassar os 512M quase nunca é necessário: se o seu site não tem o suficiente com um gigabyte de memória, procure um plugin problemático em vez de aumentar o limite.

Como posso descobrir o limite de memória se a administração do WordPress estiver inacessível?

Crie um ficheiro info.php com o código <?php phpinfo(); ?>, carregue-o para a raiz do site via FTP e abra-o num navegador. Encontre a linha memory_limit: esse é o limite atual. Apague o ficheiro após a verificação.

O que é melhor: editar o php.ini ou o wp-config.php?

O wp-config.php é mais simples: tem sempre acesso, edita um único ficheiro e não depende do alojamento. O php.ini é necessário quando o alojamento bloqueia o define no wp-config.php ou quando o limite precisa de ser aumentado para todos os scripts PHP no servidor, não apenas para o WordPress.

Porque é que o site foi abaixo com um erro 500 após editar o.htaccess?

Muito provavelmente, o seu servidor não corre Apache com mod_php, mas sim Nginx com PHP-FPM. A diretiva php_value no.htaccess só funciona no Apache; noutros servidores, causa um erro fatal. Remova a linha adicionada do.htaccess e use o wp-config.php ou o php.ini.

Posso aumentar o limite de memória em alojamento gratuito?

Quase nunca. Os alojamentos gratuitos fixam rigidamente o limite em valores mínimos (normalmente 32M ou 64M) e não permitem alterações. Um limite desses é inviável para o WordPress. Mude para um alojamento pago: mesmo o plano mais barato, por alguns euros por mês, oferece 256M.

O que devo fazer se o site continuar a ir abaixo com um erro de memória após aumentar o limite?

Faça um diagnóstico: desative todos os plugins de uma vez (renomeie a pasta /wp-content/plugins/). Se o erro desaparecer, ative os plugins um a um e identifique qual deles faz o erro regressar. Muito provavelmente, um plugin específico contém uma fuga de memória ou código não otimizado. Substitua-o por uma alternativa ou contacte o programador.

Resumo final: o que escolher para a sua situação

O método depende daquilo a que tem acesso:

  • Tem FTP ou um gestor de ficheiros: comece com o wp-config.php (método 1). Isto funciona na maioria dos alojamentos e demora um minuto.
  • O método 1 não funcionou: experimente o php.ini (método 2) e depois o .htaccess (método 3). Um dos três quase de certeza que funcionará.
  • Usa cPanel, Plesk, GoDaddy ou WHM: use o método correspondente (4-7). Alterar o limite através de um painel de controlo é mais conveniente do que vasculhar ficheiros.
  • Está a desenvolver localmente no XAMPP: método 8, editar o php.ini na pasta do Apache.
  • Nada funcionou: escreva ao seu alojamento. Se o suporte se recusar a aumentar o limite, considere mudar de plano ou de alojamento: 256M em 2026 é uma necessidade básica para o WordPress, não um luxo.

Se o erro persistir após todas as edições, leia a nossa análise do erro HTTP do WordPress: uma das causas aí também se resume à memória PHP. E se deparou com o limite de variáveis de entrada, aqui estão três métodos para aumentar o max_input_vars.