Problème connexion phinx formation PHP

Par Baw0u, il y a 8 ans


Bonjour,

Je suis la formation Mise en pratique de la POO en PHP.
J'ai un soucis avec phinx. Lorsque j'essaye d'utiliser phinx, il n'arrive pas à se connecter à la base de données.
Voici ce que me retourne ma console :

[PDOException] SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas sword: YES)

Alors que le site arrive tout à fait à se connecter. Ce qui est fou c'est qu'ils ont les même informations pour se connecter à la base de données.
Voici le code dans mon config.php

return [ 'env' => 'dev', 'database.host' => 'localhost', 'database.username' => 'root', 'database.password' => 'root', 'database.name' => 'monsupersite', \PDO::class => function (\Psr\Container\ContainerInterface $c) { return $pdo = new PDO( 'mysql:host=' . $c->get("database.host") . ';dbname=' . $c->get('database.name'), $c->get('database.username'), $c->get('database.password'), [ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, ] ); }, ];

Avez une idée pour résoudre ce problème ?

Merci !

8 réponses

kapay_yongololo, il y a 8 ans

Plutot il y a un probleme de mot e passe verifie ton mon de passe au serveur de base de donnee

betaWeb, il y a 8 ans

Salut,
Peux tu nous montrer la partie connexion via phinx ?

kapay_yongololo, il y a 8 ans

connexion dans le pichier phinx php si vous etes pas habitué a travailler avec yml et en passant son prebleme seside du cote mysql

Baw0u, il y a 8 ans

Ce n'est pas un problème de mot de passe vu que le site se connecte bien à la BDD. Voici le contenu de phinx. J'ai bien testé, les valeurs sont corrects et sont bien chargés. Il n'arrive tout simplement pas à se connecter à ma BDD alors que le site oui (même valeurs de configuration).

Merci pour vos réponses.

<?php require 'web/index.php'; $migrations = []; $seeds = []; foreach ($app->getModules() as $module) { if ($module::MIGRATIONS) { $migrations[] = $module::MIGRATIONS; } if ($module::SEEDS) { $seeds[] = $module::SEEDS; } } return [ 'paths' => [ 'migrations' => $migrations, 'seeds' => $seeds ], 'environments' => [ 'default_database' => 'development', 'development' => [ 'adapter' => 'mysql', 'host' => $app->getContainer()->get('database.host'), 'name' => $app->getContainer()->get('database.name'), 'user' => $app->getContainer()->get('database.username'), 'pass' => $app->getContainer()->get('database.password'), 'charset' => 'utf8', ] ] ];
kapay_yongololo, il y a 8 ans

Donc il y a un probleme avec phinx danc ce cas la ! Un petit tour de lecture sur ce liens

Baw0u, il y a 8 ans

Merci pour votre réponse.
Malheuresement je n'ai pas trouvé de solutions dans votre lien.
J'ai trouvé la solution à mon problème en ajoutant l'unix_socket.
Phinx fonctionnait donc très bien.

<?php require 'web/index.php'; $migrations = []; $seeds = []; foreach ($app->getModules() as $module) { if ($module::MIGRATIONS) { $migrations[] = $module::MIGRATIONS; } if ($module::SEEDS) { $seeds[] = $module::SEEDS; } } return [ 'paths' => [ 'migrations' => $migrations, 'seeds' => $seeds ], 'environments' => [ 'default_database' => 'development', 'development' => [ 'adapter' => 'mysql', 'host' => $app->getContainer()->get('database.host'), 'name' => $app->getContainer()->get('database.name'), 'user' => $app->getContainer()->get('database.username'), 'pass' => $app->getContainer()->get('database.password'), 'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock', 'charset' => 'utf8', ] ] ];
kapay_yongololo, il y a 8 ans

Super ! et tu as procedé comment un petit partage fera l'affaire ça aiderai aussi !!!