Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
J'essaye de mettre en ligne (sur un mutualisé 1and1) mon site développé avec ZF et je rencontre un problème de connexion avec ma BD.
J'utilise Zend_Application et un fichier ini de config qui ressemble à ça :
resources.db.adapter = PDO_MYSQL resources.db.params.dbname = maDB resources.db.params.hostname = le_host_distant resources.db.params.username = username resources.db.params.password = password
A noter que le serveur MySQL n'est pas sur le serveur web donc pas de "hostname = localhost"
J'ai l'erreur suivante :
Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
phpinfo() me donne ces infos :
--with-pdo-mysql' dans le configure PDO drivers sqlite, mysql, sqlite2 PDO Driver for MySQL, client library version 5.0.67
donc je pense que PDO est correctement configuré
Si j'essaye sur une page
$db = mysql_connect('le_host_externe', 'username', 'password'); mysql_select_db('maDB',$db);
ça fonctionne très bien donc j'imagine que c'est un problème de configuration dans mon .ini
Y-a-t'il quelque chose de particulier à paramétrer quand on se connecte sur un serveur MySQL distant?
Merci d'avance:)
Dernière modification par Rei Itchido (28-11-2009 11:33:08)
Hors ligne
Bon je ne comprends vraiment pas.
Si je fais, dans mon index.php
$dbh = new PDO('mysql:host=serveur_distant;dbname=maDB, 'username', 'password');
je n'ai aucun soucis.
Maintenant avec
resources.db.adapter = PDO_MYSQL resources.db.params.dbname = maDB resources.db.params.hostname = serveur_distant resources.db.params.username = username resources.db.params.password = password
j'ai toujours l'erreur
Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Je suis perdu :s
Hors ligne
essaie de spécifier le port
resources.db.params.port = tonPort
Hors ligne
Merci pour ta réponse mais ce n'était pas ça.
J'ai trouvé ce qui n'allait pas. Je le met, ça pourra servir à d'autres.
Il a fallu que je rajoute le paramètre host :
resources.db.params.host = serveur_distant
Hors ligne
Hello,
C'est pas un ajout mais une erreur : "hostname" n'est pas reconnu mais "host" l'est.
@+
Hors ligne
Au temps pour moi, 24h de perdu à cause d'une inattention
Hors ligne