Por vezes manifesta-se através do assustador “ecrã branco da morte“. Outras vezes por via do não menos assustador erro 500, do “internal server error“. Mas há mais casos. São muitas as razões que nos podem levar a aumentar o limite de memória PHP do teu site WordPress.
O principal objectivo desta operação é resolver erros que ocorrem quando o site começa a exigir mais memória que aquela que está autorizado a usar.
Há várias formas de ultrapassar este problema. Não sendo um procedimento que envolva ciência espacial, implica atenção e os tradicionais cuidados de quem tem um projecto online. O primeiro é fazer a cópia de segurança que se impõe.
Depois pode ser necessário contactar o serviço de alojamento e pedir orientações para resolver este problema da forma mais adequada. Mas antes podes ficar a saber qual o limite máximo da memória definido no ficheiro ‘default-constants.php’.
Como saber qual o limite de memória actual
- Acede ao teu servidor usando um aplicação de FTP ou através do cPanel ou plataforma similar
- Na directoria onde tens o WordPress instalado, que pode ser uma pasta específica ou a da raiz, que tem no nome habitual de public_html, procura a pasta wp-includes
- Procura o ficheiro default-constants.php
- Descarrega o ficheiro e abre-o num editor de texto
- Vais encontrar algumas linhas de código abaixo de “set memory limits”, como neste exemplo:
// set memory limits
if ( !defined('WP_MEMORY_LIMIT') ) {
if ( is_multisite() ) {
define('WP_MEMORY_LIMIT', '64M');
} else {
define('WP_MEMORY_LIMIT', '40M');
}
}
if ( ! defined( ‘WP_MAX_MEMORY_LIMIT’ ) ) {
define( ‘WP_MAX_MEMORY_LIMIT’, ‘256M’ );
}
Esta informação indica que o limite de memória está definido para 64MB se for um multisite ou de 40MB para uma instalação única.
Abaixo, o WP_MAX_MEMORY_LIMIT, está relacionado com o máximo que podes usar na área da administração do site.
São estes dados que necessitamos para alterar o limite da memória no ficheiro ‘wp-config.php’ e, assim, substituir os limites definidos no ‘default-constants.php’.
A memória de que necessitas
É importante teres uma ideia sobre qual a memória de que necessitas. Algo que nem sempre é fácil. Depende de diversos factores, incluindo o número de plugins que usas, o número de imagens que tens e uma previsão de quantas poderás vir a ter, entre outros aspectos.
Claro que deves apontar para um limite superior aquele que encontraste no ‘default-constants.php’. Mas estás a entrar num terreno onde a “tentativa e erro” vai dominar até chegares a um bom ponto de equilíbrio. Sobretudo se o objectivo é resolver um erro.
A solução não passa por atribuir um valor elevado, porque o servidor pode não aguentar e cair. Um dos tais casos em que é pior a emenda que o soneto. Deves fazer pequenos aumentos incrementais. Começa por um número que seja um pouco superior ao valor que tens e vai aumentando de forma progressiva até resolveres o problema.
Aumentar o limite de memória PHP no php.ini
Antes de começarmos é importante que saibas que estas operações devem ser feitas usando um browser limpo, para evitares estar a visualizar uma versão em cache. Portanto, limpa o teu browser de todo o histórico, cache e cookies ou usa a versão anónima ou incógnita de navegadores como o Firefox ou Chrome.
No local onde tens o WordPress instalado, abre a pasta wp-admin e procura por um ficheiro php.ini ou php5.ini. Se usas um alojamento partilhado ou mesmo VPS gerida não deverás ter nenhum desses ficheiros disponíveis.
Se o tiveres, descarrega o ficheiro e abre-o. Procura a linha que tem memory_limit e muda-a para memory_limit 512M. Guarda e carrega o ficheiro para a pasta, substituindo o que lá está.
Se não tiveres esse ficheiro, vamos cria-lo no editor de texto. Abre um novo documento, insere
memory_limit 512M
e guarda-o com o nome de php.ini e carrega-o para a pasta wp-admin
Vê se o problema no teu site ficou resolvido. Se sim, óptimo. Se não, vai subindo os valores.
Outra opção é usar o .htaccess. Se optares por este caminho, começa por eliminar o php.ini que colocaste no site.
Aumentar o limite de memória PHP no .htaccess
O ficheiro .htaccess está localizado na raiz da tua instalação. Pode estar escondido por omissão das aplicações de FTP. Se não encontras o teu, carrega em Servidor, no Filezilla, e selecciona “Força a mostra de ficheiros escondidos”. Se usas outra aplicação de FTP, pesquisa por uma opção semelhante.
Descarrega o ficheiro .htaccess e abre-o. Altera a informação existente sobre este assunto ou acrescenta o seguinte, usando um editor de texto:
php_value memory_limit 512M
Guarda o ficheiro e carrega-o para o servidor, substituindo aquele que lá se encontra.
Vê se o erro que queres resolver se encontra resolvido. Se não estiver vai aumentando o valor de forma cautelosa.
Se preferires tentar resolver a questão alterando o wp-config.php, remove a linha acrescentada, guarda e volta a carregar o ficheiro.
Aumentar o limite de memória PHP no wp-config.php
Ponto prévio: É um ficheiro chave num site WordPress e, portanto, tem de ser tratado com todo o cuidado. Antes de procederes a qualquer alteração, guarda uma cópia do ficheiro num local onde o possas resgatar se algo correr mal.
Descarrega o wp-config.php para o teu computador e abre-o com um editor de texto. Acrescenta esta linha, ou altera-a se já existir:
define(‘WP_MEMORY_LIMIT’, ’64M’);
Guarda o ficheiro e carrega-o para o site, substituindo aquele que lá se encontra. Verifica se o problema está resolvido. Senão, poderás aumentar ainda um pouco mais.
Se estiveres a registar erros quando estás na área de administração do WordPress, insere o código WP_MAX_MEMORY_LIMIT abaixo da informação sobre o limite da memória:
define(‘WP_MEMORY_LIMIT’, ‘64M’);
define(‘WP_MAX_MEMORY_LIMIT’, 128M’);
Aumentar o limite de memória PHP via empresa de alojamento
As empresas de alojamento limitam, por norma, a quantidade de memória que oferecem às operações de um site. Esta é uma regra em quase todos os serviços de alojamento partilhado e em muitos outros que usam VPS. Por isso, muitos nem sequer dispõem do ficheiro php.ini.
Se nenhuma das sugestões apresentadas ajudar a resolver o problema da falta de memória, deves pedir apoio ao teu serviço de alojamento. Tens dois objectivos: ajuda para perceber o que se está a passar e, se possível, aumentar o limite. Nalguns casos podes receber como resposta que tens de subir mais um degrau no teu serviço de alojamento, para um nível superior. Isso pode ser uma boa notícia, se quiser dizer que o teu site está a registar um tráfego contínuo superior.