Maison >base de données >tutoriel mysql >Pourquoi ma connexion PHP MySQL échoue-t-elle avec une erreur de socket Unix « Aucun fichier ou répertoire de ce type » ?
Erreur de fichier socket Unix dans la connexion PHP MySQL
Lorsque vous essayez de vous connecter à une base de données MySQL via le terminal, vous pouvez rencontrer l'erreur suivante :
Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in
Cette erreur indique que le script PHP ne trouve pas le bon fichier de socket Unix pour se connecter au serveur MySQL. Le fichier socket, généralement situé dans /tmp/mysql.sock ou /var/mysql/mysql.sock, fournit un canal de communication entre PHP et le serveur MySQL.
Pour résoudre ce problème, vous pouvez créer un fichier symbolique lien entre l'emplacement réel du fichier socket et l'emplacement attendu. Cela garantit que PHP peut localiser le fichier socket sans rencontrer l'erreur.
Si vous avez /tmp/mysql.sock mais pas /var/mysql/mysql.sock, exécutez les commandes suivantes :
cd /var sudo mkdir mysql sudo chmod 755 mysql cd mysql sudo ln -s /tmp/mysql.sock mysql.sock
Si vous avez /var/mysql/mysql.sock mais pas /tmp/mysql.sock, utilisez-les commandes :
cd /tmp ln -s /var/mysql/mysql.sock mysql.sock
Dans les deux cas, assurez-vous que vous disposez des autorisations nécessaires pour créer le répertoire et le lien symbolique. Si nécessaire, préfixez les commandes avec sudo.
Une fois le lien symbolique établi, PHP pourra se connecter au serveur MySQL via l'emplacement du fichier socket attendu, résolvant ainsi l'erreur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!