[Resolvido] Ocorreu uma exceção no driver: não foi possível encontrar o driver
Ao executar um aplicativo Symphony, os usuários geralmente recebem o erro Ocorreu uma exceção no driver: não foi possível encontrar o driver seguido pelo caminho do driver configurado. Este é o caso quando o aplicativo usa o banco de dados MySQL.
O erro geralmente aparece quando o MySQL não está instalado, você tem nomes de arquivo incorretos, arquivos críticos estão faltando ou armazenados no diretório errado ou as extensões necessárias não estão instaladas ou ativadas.
Como faço para corrigir o erro Ocorreu uma exceção no driver?
Antes de começarmos com soluções um pouco complexas, tente estas soluções rápidas:
- Certifique-se de ter salvo o arquivo. env.local com um ponto (.) antes do nome do arquivo e que está armazenado no diretório app/. Tanto app/.env quanto app/.env.local precisam ser armazenados no mesmo diretório.
- Execute o comando dentro do contêiner PHP em vez do terminal padrão do PC.
- Certifique-se de que php.ini seja nomeado como tal e não php.ini-prod após a edição.
1. Instale o MySQL e seus drivers
Instale o MySQL executando o seguinte comando no terminal:sudo apt install php-mysql
Para aqueles que executam Linux, use este comando para instalar as extensões ausentes:sudo apt-get install php-mysql php-pdo
Se você usa Docker, use este comando para instalar os drivers MySQL:RUN docker-php-ext-install pdo pdo_mysql
2. Ative as extensões
No arquivo php.ini, adicione o caminho onde o xampp instalou as extensões próximo a extension_dir. Por exemplo, poderia ser:C:\xampp\php\ext
Agora, ative as seguintes extensões:
- extensão=bz2
- extensão=ondulação
- extensão=informações do arquivo
- extensão=gd2
- extensão=gettexto
- extensão=mbstring
- extensão=exif
- extensão=mysqli
- extensão=pdo_mysql
- extensão=pdo_sqlite
3. Adicione o caminho absoluto
Adicione o caminho absoluto (pode ser diferente no seu caso) a extensions_dir com o seguinte comando:extension_dir = "c:\php5\ext"
Feito isso, reinicie o servidor web e verifique se há melhorias.
4. Substitua 127.0.0.1 por Localhost
Se você estiver recebendo o erro Ocorreu uma exceção no driver: não foi possível encontrar o driver durante a execução: php bin/console doctrine:database:create
ou symfony console doctrine:database:create
Substitua 127.0.0.1 por localhost em DATABASE_URL. Finalmente se torna:DATABASE_URL="mysql://db_user:db_password@localhost:3306/db_name?serverVersion=5.7&charset=utf8mb4"
A solução foi confirmada para funcionar por muitos usuários. Você deve tentar isso mesmo se [email protected] e root@localhost estiverem armazenados na tabela de usuários do MySQL.
5. Reinstale o PostgreSQL do PHP e remova versões não utilizadas do PHP
- Remova o Symphony do computador. Verifique o diretório ~/.symfony ou qualquer outro local onde ele possa estar armazenado.
- Agora, execute o seguinte comando para remover o PostgreSQL do PHP:
sudo apt-get --purge remove php-pgsql
- Remova a versão não utilizada do PHP com este comando (a versão pode ser diferente no seu caso):
sudo apt-get purge 'php5.6'
- Use este comando para instalar o PostgreSQL do PHP:
sudo apt-get install php-pgsql
- Finalmente, baixe o Symphony no site oficial do seu sistema operacional e verifique se há melhorias.
Uma dessas soluções deveria ter ajudado a corrigir o erro Ocorreu uma exceção no driver: não foi possível encontrar o driver. Lembre-se de que o erro pode surgir desde configurações incorretas triviais até corrupção grave, e você terá que resolvê-lo de maneira adequada.
Para qualquer dúvida ou para compartilhar o que funcionou para você, deixe um comentário abaixo.
Deixe um comentário