Maison >développement back-end >tutoriel php >Pourquoi ma connexion PHP mysqli échoue-t-elle avec le message « Impossible de se connecter au serveur MySQL local via le socket 'MySQL' (2) » ?

Pourquoi ma connexion PHP mysqli échoue-t-elle avec le message « Impossible de se connecter au serveur MySQL local via le socket 'MySQL' (2) » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-02 13:17:16779parcourir

Why is my PHP mysqli connection failing with

Erreur mysqli::mysqli() : la connexion via le socket 'MySQL' échoue

Lors de la tentative d'établissement d'une connexion à une base de données MySQL à l'aide Classe mysqli de PHP, l'erreur "mysqli::mysqli() : (HY000/2002) : Impossible de se connecter au serveur MySQL local via le socket 'MySQL' (2)" indique des difficultés à établir une connexion via un socket de domaine Unix.

Raison de l'erreur de socket

Par défaut, lorsque "localhost" est fourni comme hôte, MySQL tente de se connecter en utilisant un fichier de socket de domaine Unix, « MySQL », au lieu de TCP/IP. Cependant, si ce socket est manquant ou inaccessible, une connexion ne peut pas être établie.

Solutions

Pour résoudre ce problème, envisagez les solutions suivantes :

  • Utiliser TCP/IP : Fournissez explicitement l'adresse IP "127.0.0.1" comme hôte au lieu de "localhost" pour forcer une connexion TCP/IP.
  • Configurer le chemin du socket MySQL de PHP : Ouvrez le fichier de configuration MySQL (my.cnf) et localisez le chemin où MySQL crée le socket. Ensuite, dans votre script PHP, utilisez la configuration mysqli.default_socket pour définir ce chemin pour PHP.
  • Spécifiez le socket dans le script : Configurez directement le socket dans votre script PHP à l'aide du syntaxe suivante :

    $db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')

    Configuration de l'hôte pour Site Web

Si vous avez l'intention de rendre la base de données accessible depuis votre site Web, vous devrez peut-être configurer un autre hébergeur. La configuration de l'hôte dépend de la configuration de votre environnement d'hébergement Web et de l'emplacement de votre serveur MySQL. Il est recommandé de consulter votre fournisseur d'hébergement pour obtenir des instructions spécifiques sur la configuration d'un hôte distant.

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