Saltar para o conteúdo
Índice
WordPress

Aumentar o Limite de Memória do WordPress

Tradução automática. O original em inglês está disponível.

Quando o WordPress ou um plugin falha com um erro de esgotamento de memória, a solução é aumentar o limite de memória do PHP, e no KapsuleHost isso é feito através de um menu pendente no KPanel, em vez de uma edição de ficheiro. Este guia aborda o que o erro significa, como alterar o limite, que valor escolher e o que fazer quando mais memória não resolve o problema.

O Aspeto do Erro

A forma mais clara é um erro fatal impresso na página ou escrito no registo de erros:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes)

Divida o valor em bytes por 1.048.576 para o ler em megabytes: 268435456 são 256 MB, 134217728 são 128 MB.

Nem sempre se anuncia de forma tão clara. O mesmo problema subjacente surge como:

  • Uma página completamente em branco, sem qualquer mensagem, muitas vezes num único ecrã específico.
  • O painel do WordPress a carregar normalmente, mas uma página de administração específica (Plugins, Produtos, Site Health) a falhar.
  • Um carregamento de ficheiros multimédia ou uma importação que avança parcialmente e depois para.
  • Um erro 500 que só aparece sob carga.

Antes de alterar seja o que for, confirme que se trata mesmo de memória. Abra as Definições do site, depois o separador PHP, percorra até Registo de erros do PHP e clique em Carregar registo. Isso mostra as últimas 200 entradas com um filtro de nível. Um erro de esgotamento de memória aparece como Fatal. Se o registo estiver vazio, o problema está noutro lado: experimente Ecrã Branco do WordPress e Como Ler os Seus Registos de Erros.

Alterar o Limite no KPanel

  1. Inicie sessão no KPanel e clique em Websites na barra lateral esquerda.
  2. Clique no site que pretende alterar.
  3. No menu próprio do site, abra Definições, depois PHP.
  4. Localize o cartão Definições do PHP e a linha Limite de memória.
  5. Escolha um valor na lista pendente: 128M, 256M, 512M, 1024M ou 2048M.
  6. Clique em Guardar definições.

As definições do PHP de um site no KPanel, onde é escolhido o limite de memória

Não é necessário reiniciar e o site mantém-se online durante todo o processo. As suas definições são escritas num ficheiro .user.ini na raiz do seu site, que o KPanel gere por si.

O novo valor nem sempre fica ativo logo no carregamento de página seguinte. O servidor mantém .user.ini em cache durante até cinco minutos, por isso, se o limite antigo continuar a ser apresentado, aguarde alguns minutos e verifique novamente antes de assumir que a alteração não teve efeito.

O mesmo cartão controla outros quatro valores que, muitas vezes, precisam de ser ajustados em conjunto com a memória:

DefiniçãoOpçõesAumente quando
Limite de memória128M a 2048MErros fatais de memória, ecrãs de administração em branco
Tempo máximo de execução30 a 600 segundosImportações, exportações e criações de relatórios que param a meio
Tamanho máximo de upload16M a 256MUm ficheiro zip de tema ou um vídeo é rejeitado por ser demasiado grande
Máximo de variáveis de entrada1000 a 10000Menus grandes, formulários extensos, produtos com muitas variações

O tamanho máximo de publicação não é apresentado porque o KapsuleHost o define automaticamente, sempre 1 MB acima do seu limite de upload, para que um formulário com um ficheiro no limite ainda assim seja aceite.

Que Valor Escolher

Todos os sites do KapsuleHost começam em 256M, o que já é o dobro do valor predefinido do WordPress e suficiente para a grande maioria dos sites. Só deve aumentar quando tiver um erro real.

SiteLimite sugerido
Site institucional ou blogue com um tema leve256M é mais do que suficiente
Site com tema de criação por blocos e 20 ou mais plugins256M, depois 512M se os erros persistirem
Loja WooCommerce, catálogo modesto256M
WooCommerce com subscrições, muitas variações ou plugins de inventário pesados512M
Rede multisite ou site de associados de grande dimensão512M a 1024M

Não salte diretamente para 2048M. Um limite muito elevado não torna um site mais rápido: permite que um plugin descontrolado consuma muito mais recursos do servidor antes de falhar, o que transforma uma única página avariada num site lento para todos os visitantes. Aumente um nível de cada vez, volte a testar e pare assim que o erro desaparecer.

Definir um Limite no wp-config.php

A lista pendente do KPanel define o limite máximo do servidor. O WordPress tem duas constantes próprias que solicitam memória até esse limite máximo, e alguma documentação pode indicar-lhe para as definir:

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

WP_MEMORY_LIMIT aplica-se à área pública. WP_MAX_MEMORY_LIMIT aplica-se à área de administração, que normalmente precisa de mais memória. Adicione-as acima da linha /* That's all, stop editing! */ em wp-config.php, utilizando o editor incorporado em Definições, depois Gestor de Ficheiros, ou através de SFTP.

Uma constante do WordPress nunca pode exceder o limite do servidor. Definir WP_MEMORY_LIMIT como 1024M enquanto a lista pendente do KPanel indica 256M dá-lhe 256M e a falsa sensação de que resolveu o problema. Aumente sempre primeiro o valor no KPanel.

Para a maioria das pessoas, as constantes são desnecessárias. Defina o valor no KPanel e não altere wp-config.php.

Notas sobre o WooCommerce

As lojas são o motivo mais comum para ultrapassar os 256M. Verifique a visão própria da loja sobre o limite em WooCommerce, depois Status, no wp-admin: o relatório System Status mostra o limite de memória do PHP que consegue detetar, o que é uma boa forma de confirmar que a sua alteração no KPanel foi efetivamente aplicada.

Aumente para 512M se utilizar alguma das seguintes situações:

  • Produtos variáveis com dezenas de variações cada um.
  • WooCommerce Subscriptions ou uma extensão de reservas.
  • Dois ou mais plugins de gateway de pagamento ativos em simultâneo.
  • Uma sincronização de inventário ou contabilidade a correr em segundo plano.

Páginas de administração do WooCommerce lentas ou com tempo de resposta esgotado são, normalmente, uma combinação de memória e tempo de execução. Aumente também o Tempo máximo de execução para 120 segundos e considere as opções de cache em Configurar o WooCommerce.

Verifique Também a Sua Versão PHP

Se os erros de memória começaram logo após uma alteração do PHP, a própria versão pode estar envolvida: um plugin mais antigo pode ter fugas de memória graves num runtime mais recente. O cartão Versão PHP no topo do mesmo separador mostra o que o site está a utilizar e permite alternar entre PHP 8.4, 8.3, 8.2 e 8.1.

Alterar a versão reinicia o pool PHP do site, pelo que deve esperar alguns segundos de indisponibilidade. Mais detalhes em Alterar a Sua Versão PHP.

Quando Mais Memória Não Resolve

Se aumentar o limite duas vezes sem qualquer melhoria, significa que algo está a consumir memória que não deveria. Siga esta ordem:

  1. Faça uma cópia de segurança. Fazer uma Cópia de Segurança primeiro, sempre.
  2. Encontre o plugin. Desative os plugins em metades, em vez de um de cada vez: desligue metade, volte a testar, depois divida a metade que continuar a falhar. Também pode utilizar o Modo de segurança de plugins no separador WordPress, depois Plugins, que desliga todos os plugins de uma vez, sem eliminar quaisquer dados de plugins.
  3. Teste o tema. Mude temporariamente para um tema predefinido do WordPress. Um tema que executa consultas pesadas em cada carregamento de página produz exatamente este padrão.
  4. Observe a operação, não o site. Se apenas as importações falharem, o problema é o tempo de execução e o tamanho do lote, não a memória. Importe em blocos mais pequenos.
  5. Leia o registo. O Registo de erros do PHP no separador PHP indica o ficheiro e a linha onde a memória se esgotou, o que, normalmente, identifica o plugin de imediato.

Se continuar sem resolver depois de 512M e de um teste limpo de plugins, envie um email para support@kapsulehost.com com o domínio do site, a linha exata do erro fatal e o que estava a fazer quando ocorreu.

Isto foi útil?

É uma IA? Leia esta página em Markdown

Artigos relacionados

Instalar o WordPressWordPress é a plataforma de websites mais utilizada no mundo, e a KapsuleHost torna a instalação automática.…WordPress: Por Onde ComeçarO que o KapsuleHost faz por um site WordPress, o que o cliente continua a fazer por si próprio, e que guia ler para cada tarefa.…Atualizações Automáticas do WordPressAuto-updates mantêm o núcleo WordPress, os plugins e os temas atualizados sem que seja preciso estar atento às notas de lançamento, e fazem-no com segurança: é…Gateways de Pagamento Para uma Loja WooCommerceO separador Pagamentos apresenta os gateways de pagamento disponíveis para a sua loja WooCommerce, mostra quais estão instalados e quais estão activados, e…

Ainda precisa de ajuda?

Pergunte à Kora, que conhece a sua conta, ou contacte a nossa equipa.

Contacte-nosSuporte por e-mail