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 » ?

Pourquoi ma connexion PHP MySQL échoue-t-elle avec une erreur de socket Unix « Aucun fichier ou répertoire de ce type » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-13 08:21:13761parcourir

Why Does My PHP MySQL Connection Fail with a

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn