Carregando...
Como corrigir o erro do PHP "Allowed memory size exhausted"
imprimir
  • 0

Um dos problemas que os devs PHP enfrentam é o "Allowed memory size exhausted". Saiba como resolvê-lo e de adeus a sua dor de cabeça.


 

Certamente um dos erros mais comuns que os desenvolvedores PHP enfrentam, principalmente em aplicações que processam grandes quantidades de dados, e dependendo da causa do problema nem sempre é simples resolver e pode se tornar uma gigantesca dor de cabeça.

Contudo, na maioria das vezes que você se depara com esse erro é porque está carregando mais na memória do que o PHP tem configurado para lidar com um processo, é ai que aparece o tal “Allowed Memory Size Exhausted“.

Se você não tem certeza de quanto é o limite definido para o seu PHP, ele é incluído na mensagem de erro, embora esteja em bytes, abaixo tem algumas conversões para que visualize melhor.

8388608  – 8 MB
16777216 – 16 MB
33554432 – 32 MB
67108864 – 64 MB
134217728 – 128 MB
268435456 – 256 MB
536870912 – 512 MB
1073741824 – 1 GB

 

Como resolver o meu problema?

A primeira ação a ser executada é aumentar o limite de memória da sua aplicação PHP, mas lembre-se que é uma resolução temporária do seu problema, a ideia é que você aumente a quantidade de memória o suficiente para rodar a aplicação e identificar o que está causando este uso excessivo de memória.

Após corrigir o problema abaixe o limite de memória para rodar apenas com o necessário, assim não fazendo uso desnecessário de memória RAM que poderia ser usada para requisições de outras aplicações.

Mas então, como fazer isto? Pois bem, há duas maneiras de se aumentar a memória RAM disponível para suas aplicações, abaixo você vai aprender os dois modos.

 

Edição via Plesk

Acesse a Área do Cliente, clique no atalho Serviços e depois em Gerenciar no serviço que deseja aumentar o limite de memória do PHP.

 

Descendo pela página verá o botão PHP Settings ou Configurações PHP e então, clique nele. 

 

Nessa página, clique no Lápis, localizado no canto direito, no respectivo domínio que deseja alterar.

 

Ao clicar no botão, abrirá um Pop-Up com as configurações do PHP de seu serviço. Localize o campo Memory Limit e escolha 128M. Depois basta salvar!

https://www.mmhospedagem.com.br/projetos/docs/mmss60.png

 

Edição via cPanel

1. Acesse a opção de configurações do PHP dentro do cPanel

2. Selecione o botão “Switch to PHP Options”

3. Nessa página serão listadas várias configurações do PHP, inclusive o limite de memória.

 

Aumentar o limite de memória com programação

1. Abra o seu código PHP, e bem no início após a abertura da tag “<?php” adicione a linha de código:

ini_set ('memory_limit', '128M') ; // Também pode ser usado 256M

Dessa forma você dá ao PHP memória extra apenas quando esse trecho de código é chamado, ao invés de aumentar o limite de memória para todos os processos.

 

Dica

Existe uma ferramenta muito útil para contar com essa e com muitas outras situações que é o Xdebug, ele ajuda a diagnosticar a quantidade de memória que é usada e em qual trecho do seu código grandes quantidades de memória são usadas.

Para mais informações acesse a documentação do PHP clicando aqui.

Esta resposta lhe foi útil?

Artigos Relacionados