Partage
  • Partager sur Facebook
  • Partager sur Twitter

création de DB doctrine symfony

Sujet résolu
25 février 2018 à 17:13:15

Bonjour,

j'ai besoin de l'aide SVP, je n'arrive pas à créer ma base de données avec la commande

php bin/console doctrine:database:create

  il m'affiche les erreurs suivantes:

In AbstractMySQLDriver.php line 121:                                                 
  An exception occurred in driver: could not find driver
In PDOConnection.php line 47:                     
  could not find driver
In PDOConnection.php line 43:                   
  could not find driver

mon OS est ubuntu, j'ai bien vérifié aussi que php-mysql est installé et la ligne "extension=php_pdo_mysql.dll" dans le fichier php.ini est non commentée.

et oui j'allais oublier, je peux créer des entités sans problème avec la commande

php bin/console doctrine:generate:entity

 Merci d'avance

  • Partager sur Facebook
  • Partager sur Twitter
25 février 2018 à 18:48:05

La génération des entités consiste simplement à créer les classes entity et repository. C'est simplement de l'écriture de fichier.

L'erreur que tu rencontres est sans doute liée à une mauvaise configuration du parameters.yml.

Ou bien ton serveur n'est pas démarré.

https://openclassrooms.com/courses/developpez-votre-site-web-avec-le-framework-symfony/manipuler-ses-entites-avec-doctrine2-1

  • Partager sur Facebook
  • Partager sur Twitter
26 février 2018 à 9:49:32

Mon serveur est bien démarré, je peux accéder directement à localhost/phpmyadmin. et pour le fichier parameters.yml, il n'y a rien de compliqué pour que ça pose un problème !

Voici mon fichier parameters.yml :

parameters:
    database_host: 127.0.0.1
    database_port: null
    database_name: symfony
    database_user: root
    database_password: null
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
  • Partager sur Facebook
  • Partager sur Twitter
26 février 2018 à 9:53:49

Salut !

A mon avis, soit l'extension pdo_mysql n'est pas installée sur ta machine, soit elle est installée, mais pas activée.

J'insiste sur pdo_mysql, ce n'est pas la même chose que php_pdo.

-
Edité par Ymox 26 février 2018 à 9:54:20

  • Partager sur Facebook
  • Partager sur Twitter
26 février 2018 à 13:02:08

Merci beaucoup Ymox ! tu m'as sauvé la vie :p, en fait, quand je tape

$> php -r 'phpinfo();' | grep -i pdo
j'ai ça comme sortie:
PDO support      enabled
PDO drivers      

donc c'etait bien le pdo_mysql qui me manquait. et voici ce que j'ai fait pour l'activer :

RQ: je vous conseille de commencer à partir de l'étape 3), si ça ne marche toujours pas, recommencer dés le début.

Les commandes sont à adapter(si la version du php est différente que la mienne)

1) il faut supprimer le php

$> sudo apt-get install ppa-purge
$> sudo apt-get purge php7.0-common
2) réinstaller les modules nécessaires
$> sudo apt-get install php7.1-mysql
$> sudo apt-get install php7.1-pgsql
$> sudo apt-get install php7.1-xml
...
3) activer le module pdo_msql
$> sudo phpenmod pdo_mysql
4) redémarrer le serveur
$> sudo systemctl restart apache2
Merci encore une fois.

-
Edité par hamzaabidi 26 février 2018 à 13:03:40

  • Partager sur Facebook
  • Partager sur Twitter
10 juillet 2019 à 14:17:44

Bonjour, vous les taper ou vos lignes de commande ?? Car elle ne sont pas reconnue chez moi !

Et le parametre.yml ce situe ou ? merci de préciser.

-
Edité par Jeffbzh3 10 juillet 2019 à 14:20:55

  • Partager sur Facebook
  • Partager sur Twitter
10 juillet 2019 à 14:24:23

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter