Como resolver o erro: “Parece que em sua instalação do PHP está faltando a extensão MySQL, que é requisitada pelo WordPress.”

Problemas depois de atualizar teu WordPress em uma hospedagem Locaweb? A solução está aqui.

Uma das reclamações frequentes sobre a hospedagem Locaweb é que a versão padrão do PHP (pelo menos nos planos mais antigos) é a 5.2, já descontinuada há tempos.

Para alguns usuários do WordPress, isso pode não ter sido problema até agora, mas se tu tens preocupação com a segurança do teu sítio, certamente podes ter recebido uma mensagem desagradável ao atualizar o software:

Parece que em sua instalação do PHP está faltando a extensão MySQL, que é requisitada pelo WordPress.

É uma mensagem um tanto criptográfica, afinal de contas, ANTES da atualização, teu sítio rodava normalmente e isso indica que certamente a “extensão MySQL” estava presente, certo?

Pois bem: ainda não pude entender o porquê desse erro exótico, mas se tu és usuário da Locaweb, posso garantir que a solução é simplesmente atualizar a versão do PHP.

Passo-a-passo:

1. Visita o painel de hospedagem da Locaweb em: https://painelhospedagem.locaweb.com.br. Entra com teu usuário e senha.

2. Escolhe o domínio no qual o sítio com erro está hospedado, apertando o botão [Administrar o site], à direita.

3. Nas “Informações gerais”, verás a versão atual do PHP para essa hospedagem. No meu exemplo, eu já tenho a versão 7.1 (atualizada).

4. Clica em “Configurar Versão” e no diálogo que aparece, escolhe a versão mais atualizada que estiver disponível.

5. Feito! Como mágica, teu WordPress vai voltar a funcionar.

Tiveste o mesmo problema com outro provedor? Deixa teu comentário com contando tua experiência!

O PHP morreu. Viva o PHP!

Apesar de estar em mais de 80% dos sítios na Web, incluindo Facebook e Wikipédia, os detratores continuam dizendo que o PHP morreu. Será mesmo?

Estes tempos estava conversando com um grupo de colegas de um curso e alguém me declara: “mas o PHP está morrendo, né?”.

Acho engraçado isso. Mais do que isso, acho engraçado aquele pessoal vive na busca sôfrega por duas coisas: “qual/quem é o melhor?” e “qual/quem é o moribundo?”. Toda a vez que surge uma nova tecnologia, a galera fica desesperada para que ela seja a “ferramenta definitiva”, matando tudo que tem em volta. Pois a bola da vez parece ser o PHP.

Eu trabalho com o PHP desde um pouco antes de começar com o WordPress. O WordPress é feito em PHP e pretende continuar usando a linguagem em longo prazo, o que me faz pensar rapidamente que: NÃO, O PHP NÃO MORREU.

E antes de alguém dizer “mas…” vou apelar para as estatísticas da W3Techs:

OITENTA E TRÊS POR CENTO de presença na Internet. Parece pouco?

“Ah, mas porque tem um monte de CMS feito em PHP e a estatística fica distorcida!” Muito bem, Mike Oram em seu artigo “Is PHP relevant” nos conta que mesmo sem os CMSs, o PHP continua com 54% da Web. Adicione-se a isso o fato de sítios como Facebook, Ali Express, Wikipedia e outros terem escolhido o PHP como ferramenta de desenvolvimento. Parece irrelevante?

E a tendência do uso de PHP não é de baixa, ao contrário, a linguagem chegou a AUMENTAR levemente sua presença no último ano, como podemos ver neste gráfico também da W3Techs.

Acho que isso é o suficiente para provar que apesar dos seus detratores e “haters”, o PHP continua firme e forte há mais de 20 anos (foi lançada em 1995).

Claro que a linguagem tem suas “falhas” ou “problemas”, como alguém pode dizer, dizendo que tem erros ou indicando que é fracamente tipada, por exemplo. Pois para o primeiro argumento, sugiro se atualizar, pois ainda em 2009 a versão 5.3 resolveu a maioria dos “bugs tradicionais” encerrando de vez o assunto. E para o segundo, bem, eu considero uma VANTAGEM, que um bom programador saberá usar a seu favor!

Já estamos na versão 7.2 e posso dizer que a linguagem só melhora, com um salto incrível de velocidade a partir da versão 7 (tanto que se pulou da versão 5.6 para a 7.0 direto!).

Ainda não te convenceste? Te dou uma dica: lê o artigo “7 linguagens de programação que todo o desenvolvedor deveria aprender em 2018” da TechRepublic. O PHP está lá, só para constar.

Ativar o modo de manutenção do WordPress sem um plug-in

Saiba como usar a função interna que é acionada sempre que fazemos as atualizações rotineiras de plug-ins e temas.

Existem diversos plug-ins para o WordPress que nos ajudam a colocar uma tela “em breve” ou “em manutenção” para quando queremos mudar alguma coisa no nosso sítio e sem que os usuários recebam mensagens aleatórias ou tentem algo enquanto se está fazendo a atualização.

O que poucos sabem, no entanto, é que o WordPress já tem essa função embutida no seu núcleo, função essa que é acionada sempre que fazemos as atualizações rotineiras de plug-ins e temas.

Penso que essa é a melhor escolha para quem não quer adicionar mais um penduricalho na sua instalação WP, ao mesmo tempo que se tem uma funcionalidade simples de usar e eficaz.

entendendo o arquivo .maintenance

Primeiramente, é preciso criar um arquivo chamado .maintenance no diretório-raiz da instalação WordPress. É a mesma pasta do arquivo wp-config.php. (O ponto antes do nome do arquivo significa que ele deve ser considerado um arquivo oculto.)

Dentro deste arquivo, vamos adicionar a seguinte linha:

<?php $upgrading = time(); ?>

A variável $upgrading contém uma estampa de tempo que define o período em que o WP estará em modo de manutenção.

Na verdade, o WordPress faz uma verificação (que está em wp-settings.php) de dois passos para acionar o modo de manutenção:

1) O arquivo .maintenance está no diretório-raiz?

2) A condição a seguir é verdadeira?

Hora atual - $upgrading < 10 minutos

Como estabelecemos que $upgrading é sempre a hora atual, ou seja, a condição é sempre verdadeira, o WordPress ficará em modo de manutenção até que se apague o arquivo.

Isso nos leva a outra funcionalidade: acionar o modo de manutenção apenas por um período determinado.

Estudando a fórmula acima, entendemos que $upgrading deverá ter a hora que queremos parar o modo de manutenção MENOS 10 minutos. Ou seja, para ativar durante 40 minutos,  precisamos especificar a hora atual MAIS 30 minutos (40 menos 10):

<?php $upgrading = time() + (30 * 60); /* 30 vezes 60 segundos */ ?>

Usando esta opção, após o período especificado, o WordPress voltará ao ar, mas será mostrada uma mensagem: “A atualização do WordPress falhou — tente realizar atualização novamente” até que se apague o arquivo .maintenance.

A menos que se tenha o período pré-determinado (o que normalmente não acontece), provavelmente o primeiro método será o mais indicado para tua aplicação.

Usar um plug-in certamente é o mais fácil para os neófitos, mas poder configurar o modo de manutenção manualmente é uma boa maneira de aprender um pouco mais sobre o WordPress.

Criando um tema WordPress usando Underscores (_s)

Para acelerar e facilitar nossa tarefa de construir um tema, vale a pena conhecer o Underscores (_s), um gabarito criado pela equipe da Automattic que serve de base para a criação de novos temas para o WordPress.

Por que o Underscores (_s)?

Uma das atividades cotidianas para o desenvolvimento de um website no WordPress é a criação de um tema, que contém o visual das páginas e também reúne algumas funcionalidades.

Mas apesar da farta documentação e facilidade para entender a estrutura dos temas para WordPress, criar um tema do zero pode ser uma atividade extensa, que se toma muito tempo para desenvolver as partes mais básicas.

Para acelerar e facilitar nossa tarefa de construir um tema, vale a pena conhecer o Underscores (_s), um gabarito criado pela equipe da Automattic que serve de base para a criação de novos temas para o WordPress.

Desenvolvido em 2012, o Underscores é uma evolução do tema Toolbox, que era oferecido como tema inicial no serviço WordPress.com. Ainda hoje, o _s é base para uma série de temas produzidos pela própria Automattic, incluindo os temas disponibilizados no pacote de instalação e já está sendo atualizado para suportar o novo Gutenberg.

Além de uma base forte para teu tema, o Underscores ainda é recheado de ajustes e quitutes que aceleram o desenvolvimento e também dão uma melhorada no visual.

O que Underscores tem?

  • Um conjunto de modelos de página finamente desenvolvidos em HTML5, modernos e bem comentados.
  • Um modelo de página 404.
  • Código-exemplo para a implementação do recurso de cabeçalho personalizado, em inc/custom-header.php.
  • Conjunto de marcações personalizadas em inc/template-tags.php para manter seus modelos limpos e arrumados, evitando a redundância de código.
  • Alguns ajustes em inc/template-functions.php que podem aprimorar a experiência com teu tema.
  • Um conveniente script JS em js/navigation.js que transforma o menu principal e seus itens (abertos em telas maiores) para um simples botão que abre o menu, para telas menores.
  • Dois exemplos de leiaute CSS emlayouts/ para posicionar uma barra lateral à esquerda ou à direita.
  • Um folha de estilos CSS mínima, mas finamente organizada e detalhada em style.css que ajuda (e muito!) a montar o visual de nosso tema rapidamente.

E tudo isso licenciado sob GPLv2, ou seja, podemos usar livremente sem se preocupar com questões legais. 🙂

Como usar o Underscores?

Acho que a melhor maneira de começar e é meter a mão na massa. E como se não fosse sensacional ter todo esse código pronto, ainda é muito fácil personalizar o gabarito antes mesmo de baixá-lo.

1) Acessa a página do Underscores, em underscores.me. Clica em “Advanced options” para ver as “opções avançadas”.

2) Preenche com um nome para o tema, um “slug” (identificador único), nome do autor, endereço do autor na Web e um descritivo (no meu caso, “um tema cuera*”).

3) Aperta “Generate” para gerar teu novo tema baseado no _s e baixar o pacote.

Agora é só usar como um pacote de tema comum do WordPress, subindo o ZIP em Aparência > Temas no administrador. Em Aparência > Personalizar dá para ver as opções que estão ativadas por padrão e começar a ajustar o leiaute.

Em um próximo artigo pretendo detalhar as entranhas do tema, mas se quiseres saber mais sobre esse excelente starter theme, faz meu curso Criando temas WordPress com Underscores. Te inscreve aqui!