MySQL en console : problème socket avec XAMPP

Bonjour,

J’ai besoin d’accéder à MySQL depuis le cli php car je souhaite utiliser Doctrine, l’ORM de Symfony.
Lorsque je tente d’exécuter une commande ou Doctrine doit accéder à la base de donnée, j’obtiens ce message d’erreur :

[code]$ php app/console doctrine:schema:update

[PDOException]
SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through so
cket ‘/var/run/mysqld/mysqld.sock’ (2)
[/code]

Le dossier /var/run/mysqld/ existe bel et bien mais pas le fichier mysqld.sock.

J’ai changé les droits du répertoire en 777, ça ne résout pas le problème.

J’ai trouvé ce problème similaire : http://stackoverflow.com/a/11990813.

J’ai donc localisé les fichiers sockets et j’en ai un à l’adresse : /opt/lampp/var/mysql/mysql.sock
J’ai modifié /etc/my.cnf pour donner cette adresse de socket. Mais lorsque je réexecute ma commade mysql, j’obtiens la même erreur, et le chemin du socket est toujours l’ancien, pas le nouveau…

Cela veut-il dire que le my.cnf que j’ai modifié n’est pas le bon ?

[code]$ sudo find / -name my.cnf

/opt/lampp/etc/my.cnf
/etc/mysql/my.cnf[/code]

J’ai donc jeté un oeil dans /opt/lampp/etc/my.cnf : le chemin du socket est déjà /opt/lampp/var/mysql/mysql.sock

J’ai ajouté un lien symbolique qui pointe vers /opt/lampp/etc/my.cnf. J’obtiens alors la même erreur que précedemment mis à part que le (2) à la fin de l’erreur est remplacé par un (111)…

Voila où j’en suis de mes recherches. Comment faire pour résoudre ce problème ? Merci par avance !

Je n’ai pas tester, donc c’est à confirmer.

Dans /etc/php5/apache2/php.ini, chercher la ligne “pdo_mysql.default_socket” et remplace par:

pdo_mysql.default_socket = /opt/lampp/var/mysql/mysql.sock

Redemarrer XAMPP

Merci beaucoup, tout marche pour le mieux !

Mon php.ini est situé dans /etc/php5/cli/php.ini et non dans /etc/php5/apache2/php.ini mais tout roule !

Merci bien, je passe le sujet en résolu !