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 : 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
Je ne peut me connecter à la base, voici l'erreur:
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)"} []
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 : Sélectionner tout - Visualiser dans une fenêtre à part
database_driver:  mysqli
J'ai donc commencé des test, ces 2 ci fonctionne parfaitement :
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";
?>
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";
?>
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