Ao atualizar a versão do PHP do site através dos gerenciadores de PHP do cPanel poderá ocorrer o erro Missing MySQL Extension no site.
No vídeo abaixo, veja como corrigir o erro “Missing MySQL Extersion” e o motivo do erro:
Se desejar, siga o passo a passo:
Por que o erro ocorre?
Para garantir a segurança dos seus dados, frequentemente os softwares utilizados na HostGator são atualizados para versões mais recentes. O cPanel se enquadra nessa regra - painel de gestão dos Planos P, M, Business, Plus, Turbo, Revendas, Servidores VPS e Dedicado Linux.
Por conta dessas atualizações da versão do cPanel algumas funcionalidades podem sofrer alterações e gerar conflitos, entre elas está o gerenciador de PHP.
Portanto, se você usou recentemente a opção PHP Selector e depois a opção Alterar versão do PHP (MultiPHP), possivelmente ao acessar o seu site você encontrará o erro Missing MySQL Extension.
Esse erro indica que está faltando a extensão do MySQL na instalação, isso ocorre devido ao conflito de PHP causado pelo uso de duas opções de alteração de PHP do cPanel.
Quando você usa a opção PHP Selector, automaticamente um código é gerado no arquivo .htaccess do site com a versão de php desejada.
Posteriormente, ao utilizar a opção Alterar versão do PHP (MultiPHP) outro código será gerado no mesmo arquivo, gerando o conflito e um erro no site, conforme o exemplo abaixo:
Como resolvê-lo?
Para resolver o erro, você terá que editar o arquivo htaccess da sua aplicação e remover um dos códigos da versão do PHP. Veja:
Etapa 1: Identificar o que precisa ser removido e o que será mantido
Antes de remover o código que está causando o conflito, é preciso identificá-lo. Guarde essas informações para utilizar na Etapa 2 =)
1O código que você precisa remover será parecido com um destes:
# Use PHP74 as default
AddHandler application/x-httpd-php74 .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/php74/lib
</IfModule>
#Use PHPedge as default
AddHandler application/x-httpd-php-edge .php
<IfModule mod_suphp.c>
suPHP_ConfigPath /opt/phpedge/lib
</IfModule>
2O código que você precisa manter será semelhante a este:
# php -- BEGIN cPanel-generated handler, do not edit
# Defina o pacote “ea-php74” como a linguagem padrão de programação “PHP”.
<IfModule mime_module>
AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
Etapa 2: Como remover o código
1No cPanel, na barra de busca, procure por Gerenciador
- Em seguida, clique em Gerenciador de Arquivos
2No Gerenciador de arquivos, no canto superior direito, clique em Configurações
3Em seguida, na caixa de preferências, selecione o domínio que apresenta o erro
- Marque a opção Mostrar arquivos ocultos (dotfiles)
- Depois, clique em Save
4Na coluna lateral esquerda, clique sobre a pasta referente ao domínio que apresenta o erro
- Em seguida, no lado direito da tela, localize o arquivo .htaccess
5Clique sobre o arquivo .htaccess duas vezes - para fazer o download dele para seu computador local
- Essa ação visa fazer o backup do arquivo como medida de segurança
6Ainda no gerenciador de arquivos, clique sobre o arquivo .htaccess
- Em seguida, no menu superior, clique em Editar
7Na caixa informativa, clique em Edit
8Com a ação anterior, o arquivo .htaccess deverá ser aberto para edição em uma nova aba
- Verifique qual é o código de PHP que deverá permanecer no arquivo
- Depois, remova o outro código que está gerando o conflito - conforme as informações guardadas na Etapa 1
Após executar os procedimentos o erro no site não deverá mais ser exibido =)