problème de connexion mysql - utilisation de l'ip plutôt que le domaine
Bonjour,
Je tente de mettre mon site en ligne mais je me casse la tête sur un problème.
Je suis sur 1and1.fr (je sais c'est pas le top mais je dois m'adapter a mon ami pour qui je fait le site).
J'ai configuré paramters.yml comme ceci :
Code:
1 2 3 4 5 6 7
| parameters:
database_driver: pdo_mysql
database_host: host_donne_par_1and1
database_port: ~
database_name: nom_donne_par_1and1
database_user: user_donne_par_1and1
database_password: pass_choisi |
Je ne peut me connecter à la base, voici l'erreur:
Code:
Uncaught PHP Exception Doctrine\DBAL\Exception\ConnectionException: "An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user 'user_donne_par_1and1'@'212.227.29.15' (using password: YES)" at /myhome/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 103 {"exception":"[object] (Doctrine\\DBAL\\Exception\\ConnectionException: An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user 'user_donne_par_1and1'@'212.227.29.15' (using password: YES) at /myhome/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:103, Doctrine\\DBAL\\Driver\\PDOException: SQLSTATE[HY000] [1045] Access denied for user 'user_donne_par_1and1'@'212.227.29.15' (using password: YES) at /myhome/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:47, PDOException: SQLSTATE[HY000] [1045] Access denied for user 'user_donne_par_1and1'@'212.227.29.15' (using password: YES) at /myhome/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:43)"} []
En fouinant chez 1and1, j'ai vu qu'a partir de php 5.5, il fallait utiliser mysqli.
J'ai donc modifier paramters.yml comme ceci mais sans résultat:
Code:
database_driver: mysqli
J'ai donc commencé des test, ces 2 ci fonctionne parfaitement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
$host_name = " host_donne_par_1and1";
$database = "nom_donne_par_1and1";
$user_name = "user_donne_par_1and1";
$password = "pass_choisi";
$connect = mysql_connect($host_name, $user_name, $password, $database);
if (mysql_errno())
{
echo "La connexion au serveur MySQL n'a pas abouti : " . mysql_error();
}
else
echo"ok";
?> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
$host_name = " host_donne_par_1and1";
$database = "nom_donne_par_1and1";
$user_name = "user_donne_par_1and1";
$password = "pass_choisi";
$connect = mysqli_connect($host_name, $user_name, $password, $database);
if (mysqli_errno())
{
echo "La connexion au serveur MySQL n'a pas abouti : " . mysql_error();
}
else
echo"ok";
?> |
En regardant bien le log, on voit qu'il veut se connecter en utilisant une adresse IP malgré que je lui donne un nom de domaine.
J'ai repris mes 2 test en mettant cette adresse IP et j'obtient une erreur (accès refusé à l'user mentionné).
Pourquoi Symfony (ou plutôt Doctrine) passe par une adresse IP et n'utilise pas le domaine que je lui donne?
Peut-ton modifier pour qu'il prenne le domaine ?
Je pense que le serveur mysql possède plusieurs hostname et mon utilisateur ne peut que passer par 1 seul qui n'est pas l'adresse IP.
Désolé pour le pavé, je voulais vous expliquer mes différents tests et déduction (je me trompe peut-être) afin de vous faire moins cherché et m'aidé à trouver une solution (si il y en a une) plus vite.
Merci d'avance