Wordpress

Aumentando o limite de memória no PHP para WordPress

Sendo o WordPress um CMS (Content Management System) com a possibilidade de utilização de temas e plugins externos, é comum que alguns erros aconteçam após a instalação, mesmo que para testes, de uma nova extensão desta natureza em seu site.

Ele também é suscetível a alguns erros quando ocorre um upgrade de versão do PHP ou Apache ou Nginx, devido à complexidade de manter todos estes plugins e temas atualizadoe com compatibilidade com as versões mais atuais destes softwares.

O ideal é verificar na documentação oficial das extensões se elas já fornecem suporte à uma nova versão do WordPress que você pretenda atualizar, ou da linguagem PHP ou ainda, do servidor HTTP Apache ou Nginx.

Porém, mesmo após você analisar, estudar e decidir pelos upgrades, erros podem acontecer em sua instalação.

Alguns lhe darão uma indicação nas páginas do site, outros permitirão que você verifique no ambiente administrativo do WordPress mas, existem erros que quebrarão totalmente o acesso ao site, retornando o famigerado 500 ERROR.

Limite de memória no PHP

Um dos problemas desta natureza mais comuns está relacionado ao consumo exaustivo de memória, o que acontece com frequência na instalação ou atualização de um tema ou plugin com bug.

Na verdade erros de limite de memória podem atingir outros sistemas desenvolvidos em PHP, como no framework Laravel, por exemplo.

A mensagem em geral é a seguinte:

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

Os valores podem aparecer diferentes para o seu servidor.

A tradução livre seria:

Erro fatal: Tamanho permitido para memória de 41943040 bytes foi exaurido (tentativa de alocar 20480 bytes).

Outra forma que a mensagem com este erro pode aparecer é:

PHP Fatal error: Out of memory (allocated 4193040 bytes) (tried to allocate 20480 bytes).

A tradução livre seria:

PHP Erro fatal: Sem memória (alocados 4193040 bytes) (tentativa de alocar 20480 bytes).

Estas mensagens de erro significam que o WordPress necessitou de mais memória para execução de um script em um cliclo de Http Request, maior que o permitido na configuração de sua instalação PHP.

Neste exemplo o PHP já alocou 4193040 bytes (em torno de 40M) e a tentativa de alocar os próximos 20480 bytes não foi possível pois estourou o limite.

Esta relação de uso de memória permitida é configurada na diretiva memory_limit do arquivo php.ini de sua instalação.

memory_limit:

Define a quantidade máxima de memória em bytes que um script pode alocar. Isto ajuda a previnir que scripts mal escritos consumam toda a memória disponível no servidor. Note que para que não haja limite de memória, esta diretiva deve ser configurada para -1. Quando um integer é utilizado, o valor é medido em bytes. A resumida notação, como descrito neste FAQ, pode também ser usada.

manual do PHP

Aumentando o limite de memória no php.ini

Em geral uma alteração no arquivo php.ini, seguindo o exemplo abaixo, pode resolver. Procure na seção Resources limits, altere a variável de configuração memory_limit.

Em geral eu inicio de maneira conservadora e subo dos tradicionais 40M para 64M, mas nada impede que você suba para 128M como na imagem de exemplo.

memory_limit = 128M

Aumentando o limite de memória na configuração do WordPress

Caso você esteja trabalhando com um servidor de hospedagem compartilhado (shared server host) e não tenha permissão de alterar as configurações do PHP.

Ou, em casos quando possui mais de um software instalado no mesmo servidor e não deseja aumentar de maneira geral este limite, para manter um nível de controle mais granular.

Você pode optar pela estratégia de alterar o valor limite de memória na execução do WordPress, alterando o arquivo wp-config.php.

Para isto , basta adiciona a seguinte linha no início do arquivo:

<?php

ini_set('memory_limit','128M');

Considerações finais

É necessário manter constante organização e manutenção em sua instalação WordPress para que seu site, além de seguro e estável, mantenha-se em funcionamento constante, evitando perda de acessos e público para sua empresa ou conteúdo.

Para aprender mais leia os artigos neste blog sobre Desenvolvimento Web.

Mantenha-se atualizado

Não esqueça de me seguir no Twitter e assinar o Canal Mazer.dev no Youtube para receber atualizações de novos artigos, vídeo aulas e cursos gratuitos em programação de computadores, desenvolvimento de software com qualidade, engenharia de software e ferramentas como WordPress, Git, Gitlab, Github, dentre outros.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: