Bonjour.

Je suis en formation developpeur web on ma demandé de mettre le site en ligne j'ai mis tout les fichiers sur le serveur mutualisé IONOS
Le site est fait avec symfony mais j'arrive pas a faire le lien avec la base de donnée pourtant j'ai fait la bdd sur IONOS j'ai remis les données d'accès donnée par IONOS dans le fichier .env sous forme j'ai aussi configuré le fichier doctrine.yaml
pour le .env j'ai mis sous cette forme
"mysql://utilisateur:mot_de_passe@hôte/nom_de_la_base_de_données"

Ce que je veux

Que mon projet sois connecté a la BDD qui est sur IONOS

Ce que j'obtiens

le message d'erreur: "An exception occurred in the driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql failed: Name or service not known"

Merci pour votre aide

8 réponses


Bonjour,
Es-tu sûr d'avoir bien renseigné les paramètres de connexion à ta base de données le fichier .env ou même d'avoir démarre MySQL ?

LagFou
Auteur

Merci pour ta réponse,

Alors oui j'ai bien renseigné les paramètres de connexion a ma base de données dans le fichier .env je l'ai fait vérifié par un collègue, pour MySQL j'utilise le services fourni par IONOS j'arrive allez sur la base données avec phpmyadmin fourni par IONOS.
Y a t'il une étape que j'ai oublié ou faut il faire quelque chose de particulier pour que mon projet ai accès a la BDD de ionos ?

Comme dit dans mon message précédent je suis en formation c'est la premières fois que je travail sur un serveur et non en local et sur IONOS et leur environnement.

Le message d'erreur est clair si il s'affiche soit tu as mal configuré ton fichier .env soit tu n'as pas MYSQL activé sur ton serveur .
Je doute fort que Mysql soit désactivé donc je penche plus pour le fait que l'erreur vient de ton fichier .env , comme hôte tu mets quelle adresse ? et quelle port ? celui du serveur ou tu entres simplement 127.0.0.1:3306 ?
Et pas besoin de configurer le fichier doctrine.yaml à moins qu'un package le demande

LagFou
Auteur

Je sais que le message d'erreur est clair c'est pour ca que je comprend pas j'ai crée plusieurs base de données sur Ionos pour testé.

Pour mon fichier .env je l'ai mis sous la forme "mysql://utilisateur:mot_de_passe@hôte/nom_de_la_base_de_données",
j'ai aussi essayé avec "mysql://utilisateur:mot_de_passe@hôte:port/nom_de_la_base_de_données"
en rajoutant le port 3306 ce qui n'est pas précisé dans les identifiants fourni par Ionos pour la BDD

J'ai relancé le projet en local avec ma bdd en local avec la même forme de connexion est ca fonctionne.

L'erreur que plusieurs commètent le plus souvent c'est de mettre l'adresse IP privée du serveur comme hôte c'est pourquoi je t'ai demandé si comme hôte c'était bien 127.0.0.1:3306 ?

LagFou
Auteur

Non comme hote j'ai mis l'adresse de la bdd qui dans se cas est comme ca XXXXXXX.hosting-data.io
Sinon a tu d'autre piste ?

Est-ce que tu as un .env.local ?
En principe on ne met pas les données sensibles dans le .env qui est commité mais dans .env.local.
T'as bien mis ça dans DATABASE_URL=mysql://utilisateur:mot_de_passe@XXXXXXX.hosting-data.io/bdd ?

Tu as quoi quand tu exécutes bin/console debug:dotenv | grep DATABASE_URL ?

Bonsoir LagFou ,
Je te recommande de mettre 127.0.0.1:3306 comme hôte et pas l'adresse dns XXXXXXX.hosting-data.io/bdd vu que les fichiers sont déjà stockés sur le serveur web de IONOS.
Donc met à jour ton hôte puis réactualise ton cache pour avec php bin/console c:c