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 :
Je ne peut me connecter à la base, voici l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
En fouinant chez 1and1, j'ai vu qu'a partir de php 5.5, il fallait utiliser mysqli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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)"} []
J'ai donc modifier paramters.yml comme ceci mais sans résultat:
J'ai donc commencé des test, ces 2 ci fonctionne parfaitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part database_driver: mysqli
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"; ?>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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"; ?>
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
Partager