A página mostra uma linha branca com «Error establishing a database connection» e mais nada. Não é um erro do WordPress: é o WordPress a dizer que pediu os dados à base e não os recebeu. As causas são poucas e têm uma ordem de probabilidade que raramente falha.
|
Antes de editar o wp-config.php, guarde uma cópia dele. É o ficheiro com a senha da base de dados. Descarregue-o para o seu computador, ou copie-o para fora do public_html. Nunca deixe uma cópia chamada wp-config.bak ou wp-config.txt dentro da pasta do site: um ficheiro com essas extensões é servido em texto simples a quem lhe acertar no nome, e a senha fica pública.
|
Primeiro: é só este site?
Trinta segundos que poupam meia hora. Responda a estas três:
| 1 |
O /wp-admin dá o mesmo erro? Se sim, é a base, e não o site. Se o painel abre, o problema é outro.
|
|
| 2 |
Tem outro site na mesma conta? Se o outro abre, o serviço de base de dados está de pé e o problema é desta instalação.
|
|
| 3 |
O phpMyAdmin abre a partir do cPanel? Se abre e vê a base lá com as tabelas todas, então a base existe e o que falha é a autorização. Veja bases de dados e phpMyAdmin.
|
|
As causas, por ordem
| Causa |
Como se reconhece e como se resolve |
| 1. Senha errada |
A mais comum, de longe. Alguém mudou a senha do utilizador da base no cPanel e não a foi corrigir no wp-config.php. Também acontece sempre que um site é copiado de outro servidor. |
| 2. Utilizador não associado à base |
O utilizador existe, a base existe, mas não estão ligados. Em Bases de Dados MySQL, na secção Adicionar utilizador à base de dados, junte os dois e dê-lhe TODOS OS PRIVILÉGIOS. |
| 3. Nome da base errado |
Numa conta partilhada, o nome real leva o prefixo da conta à frente: não é wordpress, é conta_wordpress. O mesmo para o nome do utilizador. Quem traz um site de fora esquece-se disto sempre. |
| 4. DB_HOST errado |
Aqui é localhost. Se o ficheiro veio de outro fornecedor, pode trazer um endereço ou um nome de servidor que aqui não existe. |
| 5. A conta bateu num limite |
Sem espaço em disco, ou sem ficheiros disponíveis, a base deixa de conseguir escrever e a ligação cai. Veja o que o cPanel mostra e os limites que não vêm no anúncio. |
| 6. Tabela corrompida |
O erro aparece e desaparece, ou aparece só em algumas páginas. Trata-se a seguir, com a reparação. |
| 7. Serviço em baixo do nosso lado |
Raro, e reconhece-se por ser em todos os sites da conta ao mesmo tempo, incluindo o phpMyAdmin. Se for esse o caso, não mexa em nada: abra um pedido. |
Conferir as quatro linhas
No cPanel, Gestor de Ficheiros, pasta do site, wp-config.php, Editar. Perto do topo estão as quatro linhas que interessam:
| 1 |
define( 'DB_NAME', 'conta_wordpress' ); o nome da base, com o prefixo da conta
|
|
| 2 |
define( 'DB_USER', 'conta_wpuser' ); o utilizador, também com prefixo
|
|
| 3 |
define( 'DB_PASSWORD', '...' ); a senha desse utilizador
|
|
| 4 |
define( 'DB_HOST', 'localhost' ); aqui é sempre este
|
|
|
Não adivinhe a senha: ponha outra. É mais rápido e não deixa dúvidas. Em Bases de Dados MySQL, na lista de utilizadores, escolha Alterar senha, gere uma nova (gerador de senhas), grave, e ponha exactamente essa no wp-config.php. Cuidado com espaços a mais no princípio ou no fim quando colar.
|
|
Aspas e apóstrofos. Se a senha tiver apóstrofo, barra invertida ou cifrão, ela parte a linha do PHP e o erro mantém-se, agora por outra razão. O caminho seguro é gerar uma senha só com letras e números, longa, em vez de lutar com o escape.
|
Se as credenciais estão certas: reparar as tabelas
O WordPress traz uma ferramenta de reparação que não precisa de login. Liga-se, usa-se e desliga-se:
| 1 |
Acrescente define( 'WP_ALLOW_REPAIR', true ); ao wp-config.php.
|
|
| 2 |
Abra https://yourcompany.com/wp-admin/maint/repair.php e escolha reparar, ou reparar e optimizar.
|
|
| 3 |
Tire a linha a seguir. Enquanto lá estiver, essa página está aberta a toda a gente, sem senha nenhuma.
|
|
Se prefere fazer à mão, o phpMyAdmin tem o mesmo: seleccione todas as tabelas e escolha Reparar tabela na lista do fundo.
Quando o erro vai e vem
Um erro intermitente, que aparece às horas de ponta e desaparece sozinho, raramente é uma senha errada: uma senha errada falha sempre. Isso é a conta a bater num limite, normalmente o número de pedidos em simultâneo. Veja o Resource Usage no cPanel à hora em que acontece: acompanhar o desempenho do site no cPanel e os limites que não vêm no anúncio.
A causa de fundo costuma ser um site pesado a demorar demasiado em cada pedido. Aí, o artigo é outro: o site está lento.
Se nada disto resolve
Veja o error_log da pasta do site, porque nesta avaria ele costuma ter uma linha com a razão exacta da recusa: onde está o log de erros do PHP. Se o ficheiro de configuração estiver estragado ou perdido, reconstrua-o: recriar a ligação do wp-config.php. Se não souber qual das bases é a sua, descubra-a primeiro. E, se a base ficou mesmo danificada, reponha uma cópia de um dia em que funcionava: como restaurar os seus dados.
|
Mande-nos o domínio, a hora a que começou e a linha do error_log.
Abrir um pedido
|
PRODUTO RECOMENDADO Alojamento de sites com cPanel Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde 9.000,00 Kz/mês Ver planos |