Allowed memory size Exhausted

Allowed memory size Exhausted

Por que ocorre este erro?

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.

Hospedagem para Desenvolvedores

Hospedagem gerenciada para simplificar e maximizar o seu desenvolvimento. Migração Grátis.

Veja as vantagens

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.

1 Método – Edição do arquivo “php.ini”

1. Acesse o gerenciador de arquivos ou o FTP da sua hospedagem.

2. Procure pelo arquivo “php.ini” e faça o download deste arquivo para o seu computador.

3. Abra o arquivo “php.ini” com o bloco de notas ou qualquer outro editor de texto de sua preferência e procure pela linha “memory_limit =  64M“. Não necessariamente o valor desta linha no seu arquivo seja 64MB, pode ser que anteriormente já tenha sido modificado.

Allowed Memory Size Exhausted

4. Um número recomendado para a maioria dos websites é um valor entre 128M e 256M.

2 Método – 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

Se você gostou deste conteúdo, peço que ajude mais pessoas a entender o Allowed Memory Size Exhausted, compartilhando este artigo com seus amigos.

Quer mais dicas? Acesse a categoria Dicas e Tutoriais do Blog.

Caso tenha alguma dúvida sobre o assunto, por favor deixe seu comentário que terei o prazer de conversar com você a respeito.

Arquivo hosts - Como editar - SECNET
A seguir:

Arquivo hosts: Como editar

Arquivo hosts: Como editar