Como corrigir Out of memory no PHP do WordPress
O que é o erro Out of memory no PHP?
O out of memory no PHP do WordPress é o erro fatal que surge quando o processo PHP não consegue mais alocar memória, seja porque bateu no memory_limit configurado, seja porque a RAM real do servidor acabou. O PHP encerra o script imediatamente e o site cai com erro fatal ou tela branca. É comum em importações grandes, plugins de backup, loops mal escritos e em servidores com pouca memória rodando vários sites ao mesmo tempo.
Como identificar
- Mensagem “PHP Fatal error: Out of memory (allocated X) (tried to allocate Y bytes)” no debug.log ou no error_log do servidor.
- Variação “mmap() failed: [12] Cannot allocate memory” no log, indicando que a RAM do servidor acabou.
- Tela branca ou erro fatal durante backup, importação de WXR, exportação grande ou regravação de imagens.
- O site cai de forma intermitente nos horários de pico, quando vários processos PHP rodam juntos.
Como prevenir
- Dimensione o memory_limit (256M+) e a RAM do plano conforme o peso do site e dos plugins
- Rode backups e importações em lotes e em horários de baixo tráfego, evitando processos concorrentes
- Monitore plugins com loops ou consultas sem paginação, que vazam memória até estourar
Erros relacionados
Causa
memory_limit do PHP insuficiente para a tarefa (backup, importação ou relatório pesado) RAM real do servidor esgotada porque há muitos processos PHP-FPM simultâneos em um plano pequeno Loop infinito ou recursivo em um plugin/tema que consome memória até estourar Consulta ao banco que traz centenas de milhares de linhas sem paginação (get_posts com posts_per_page -1) Plugin de otimização de imagem processando arquivos enormes sem liberar memória entre eles
Como resolver
- Aumente o limite de memória: edite o wp-config.php via FTP e suba o teto do WordPress antes da linha 'That's all, stop editing!':
define('WP_MEMORY_LIMIT', '256M'); define('WP_MAX_MEMORY_LIMIT', '512M'); - Eleve o memory_limit do PHP: se o limite do servidor for o gargalo, ajuste no php.ini (ou peça ao host). Em planos compartilhados, o teto do plano pode impedir valores altos:
php.ini: memory_limit = 256M - Identifique o processo que estoura: abra o wp-content/debug.log e veja qual arquivo aparece no 'Out of memory'. Se for um plugin, desative-o via FTP renomeando a pasta e teste.
- Verifique a RAM real do servidor: se o log mostrar 'Cannot allocate memory' (mmap failed), o problema é RAM física, não o memory_limit. Aí a solução é reduzir processos concorrentes ou subir o plano de hospedagem.
- Quebre tarefas pesadas em lotes: em importações, backups e regravação de imagens, processe em partes menores para não pedir toda a memória de uma vez.
// wp-config.php — eleva o teto de memoria do WordPress (antes de "That's all, stop editing!")
define( 'WP_MEMORY_LIMIT', '256M' ); // front-end
define( 'WP_MAX_MEMORY_LIMIT', '512M' ); // wp-admin, backup e importacao
// Diagnostico: se o error_log mostrar "Cannot allocate memory",
// o limite nao e o PHP e sim a RAM fisica do servidor (subir o plano).














