Maison >développement back-end >tutoriel php >Pourquoi ma connexion PHP MySQL échoue-t-elle avec « Aucun fichier ou répertoire de ce type » et comment puis-je y remédier à l'aide de liens symboliques ?

Pourquoi ma connexion PHP MySQL échoue-t-elle avec « Aucun fichier ou répertoire de ce type » et comment puis-je y remédier à l'aide de liens symboliques ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 01:56:11939parcourir

Why is my PHP MySQL connection failing with

Erreur : impossible d'établir une connexion MySQL via un socket Unix

Lors de la tentative de connexion à votre base de données MySQL via le terminal de votre Mac à l'aide de PHP , vous rencontrez l'erreur suivante :

Warning: mysql_connect(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in

Cette erreur indique un problème avec le fichier de socket MySQL, qui est utilisé pour les applications basées sur UNIX. connexions à la base de données.

Solution : créer un lien symbolique

La cause première de ce problème est une divergence dans l'emplacement du fichier socket sur macOS. Pour le résoudre, vous devez créer un lien symbolique, qui est un fichier pointant vers un autre fichier. Cela permettra à votre Mac de trouver le fichier de socket requis même s'il cherche au mauvais endroit.

Étapes :

Vérifier l'emplacement du fichier de socket

Utilisez la commande suivante pour déterminer l'emplacement de la prise fichier :

ls -l /tmp/mysql.sock /var/mysql/mysql.sock

Créer un lien symbolique

En fonction de l'emplacement du fichier socket, vous devrez créer un lien symbolique comme suit :

  • Si vous avez /tmp/mysql.sock mais pas /var/mysql/mysql.sock :
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 :
cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

Remarque : Vous devrez peut-être utiliser sudo avant les commandes pour obtenir suffisamment autorisations.

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