Bonjour,

Je travaille avec symfony4 sur une base de données avec ORM Doctrine. Je suis sur windows.
J'ai d'abord créé une entité de classe (make: entity).
Puis l'étape de migration (php bin / console: migration).
Mais elle ne fonctionne pas car "Une exception s'est produite dans le pilote: impossible de trouver le pilote".

Pour essayer de résoudre le problème, j'ai essayé d'utiliser différentes versions de php (php7.2.21 et php7.3.8) et j'ai ajouté "extension = php_pdo_mysql.dll" dans php.ini-development et php.ini-production.
Mai rien de concluant.

Décrivez ici votre code ou ce que vous cherchez à faire

L'erreur que j'ai est :

C:/wamp64/bin/php/php7.2.21/php.exe bin/console make:migration

In AbstractMySQLDriver.php line 115: An exception occured in driver: could not find driver

In PDOConnection.php line 47: could not find driver

In PDOConnection.php line 43: could not find driver 

Savez-vous comment résoudre ce problème car cela m'empeche d'avancer dans mon apprentissage?

Merci d'avance

4 réponses


salut,

as tu correctement configuré le fichier .env a la Racine de ton projet en indiquant les identifiants de ta bdd et le nom de la base ?

@bidule Bonjour, merci pour la réponse
Oui à priori la relation avec la base se fait bien.
D'ailleurs dans la première étape avec la commande make: entity, je parviens à créer la table et y ajouter des attributs correctement.
Je ne pense pas que le problème soit de cet ordre-là.
L’erreur semble indiquer qu’il me manque un driver.
Normalement ce genre de problème ce règle en modifiant le php.ini (php.ini-development et php.ini-production dans les nouvelles versions de php apparemment).
C’est pour cela que j’y ai ajouté « extension = php_pdo_mysql.dll » car mes recherches sur le net semblent indiquer qu’il pourrait s’agir de ça. Mais ça ne donne rien… Je ne sais vraiment pas quoi faire.

Je n'utilise plus wamp avec symfony car à mon sens les temps d'affichages sont trop long ... (et en règle general sous windows)

A la rigeur j'utilise Laragon mais je ne demarre que le service MySql de celui-ci (au passage n'est-ce pas juste le service MySql qui ne serai pas démarré dans ton cas ?)

Puis je me place dans le répertoire de mon projet symfony puis je lance le server php interne qui est bcp plus rapide

php bin/console server:run

essai et tu me diras ce qui en retourne

J'utilise déja le serveur de php en interne comme tu le proposes.

Toute mes recherches sur internet m'indique qu'il faille ajouter extension=php_pdo_mysql.dll à php.ini-development mais chez moi ca ne donne rien.

Je lance le serveur dans une console: php bin/console server:run
dans une autre:
php bin/console doctrine:database:create
php bin/console make:entity
php bin/console make:migration

Sinon le service MySql est bien lancé.
Mais je pense que c'est normal et puis si c'était problématique, les commandes précédentes n'auraient pas fonctionnées je pense.
Merci