Maison >base de données >tutoriel mysql >Pourquoi ma connexion PHP MySQL échoue-t-elle dans le terminal avec une erreur « Aucun fichier ou répertoire de ce type », mais fonctionne-t-elle dans un navigateur ?

Pourquoi ma connexion PHP MySQL échoue-t-elle dans le terminal avec une erreur « Aucun fichier ou répertoire de ce type », mais fonctionne-t-elle dans un navigateur ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-24 11:42:11697parcourir

Why is my PHP MySQL connection failing in the terminal with a

Échec de la connexion à la base de données MySQL dans le terminal avec l'erreur « Aucun fichier ou répertoire de ce type »

Lors de la tentative d'établissement d'une connexion à MySQL via le Terminal sur un appareil Apple utilisant le script PHP fourni, les utilisateurs peuvent rencontrer l'erreur "mysql_connect() : [2002] Aucun fichier ou répertoire de ce type (en essayant de se connecter via unix:///tmp/mysql.sock)". Ce problème survient malgré le bon fonctionnement du script lorsqu'il est invoqué via un navigateur.

Résolution

Le problème sous-jacent provient du fait que macOS identifie incorrectement l'emplacement du fichier de socket requis. Pour rectifier cela, suivez ces étapes :

  1. Déterminez l'emplacement du fichier socket à l'aide de la commande :
ls -l /tmp/mysql.sock /var/mysql/mysql.sock
  1. Créez un lien symbolique vers le socket fichier à l'emplacement où l'application recherche.

If /tmp/mysql.sock existe :

cd /var
sudo mkdir mysql
sudo chmod 755 mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

Si /var/mysql/mysql.sock existe :

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock
  1. Si nécessaire, accordez les autorisations pour créer le répertoire et le lien en préfixant les commandes par "sudo".

Une fois le lien symbolique établi, le la connexion à la base de données MySQL devrait être établie avec succès.

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