Pages : 1
#1 Le 16/10/2018, à 14:33
- Vivi936
Symfony 4 - Doctrine
Bonjour,
Je suis actuellement sur Ubuntu 18 et j'essaye de me former sur le framework symfony 4.
Pour créer une base de données, je dois utiliser Doctrine qui est un Bundle je crois.
Je bloque sur cette étape de Doctrine, je ne comprend pas pourquoi ca bloque.
Voici ce que j'ai dans mon terminal :
vira@vira-TM1701:~/Projet/testSymfony$ php bin/console doctrine:database:create
In AbstractMySQLDriver.php line 126:
An exception occurred in driver: could not find driver
In PDOConnection.php line 50:
could not find driver
In PDOConnection.php line 46:
could not find driver
doctrine:database:create [--shard SHARD] [--connection [CONNECTION]] [--if-not-exists] [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-e|--env ENV] [--no-debug] [--] <command>
Cordialement.
Dernière modification par Vivi936 (Le 16/10/2018, à 14:34)
Hors ligne
#2 Le 16/10/2018, à 14:52
- mazarini
Re : Symfony 4 - Doctrine
Bonjour,
Tu dois avoir un fichier .env qui contient entre autre :
###> doctrine/doctrine-bundle ###
# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
# Configure your db driver and server_version in config/packages/doctrine.yaml
DATABASE_URL=mysql://root:@127.0.0.1:3306/TableBundle
###< doctrine/doctrine-bundle ###
C'est la ligne "DATABASE_URL=mysql://root:@127.0.0.1:3306/MABASE" qui est sensé permettre de passer des ordres SQL.
Est ce que le module PHP qui va bien est installé (php-mysql ou php7.1-mysql...) ?
Comment as tu créer ton projet ?
Edit : je viens de voir ton lien, je penche pour php-mysql manquant (ou php7.x-mysql)
mais vérifie le fichier : config/packages/doctrine.yaml :
parameters:
# Adds a fallback DATABASE_URL if the env var is not set.
# This allows you to run cache:warmup even if your
# environment variables are not available yet.
# You should not need to change this value.
env(DATABASE_URL): ''
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
default_table_options:
charset: utf8mb4
collate: utf8mb4_unicode_ci
url: '%env(resolve:DATABASE_URL)%'
Dernière modification par mazarini (Le 16/10/2018, à 15:00)
S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)
Hors ligne
#3 Le 16/10/2018, à 18:32
- Vivi936
Re : Symfony 4 - Doctrine
Salut,
Effectivement c'était bien php-mysql qui manquait !
Merci. J'avais aussi trouvé le truc sur ce site.
Je cite :
Merci beaucoup Ymox ! tu m'as sauvé la vie , 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.
De mon côté, je n'ai fait que l'étape 3 et 4. même si j'ai pas trop compris la ligne de commande que j'ai tapé copié/collé
Hors ligne
Pages : 1