Maison > base de données > tutoriel mysql > Pourquoi mon code PHP ne peut-il pas se connecter au serveur MySQL via Socket ?

Pourquoi mon code PHP ne peut-il pas se connecter au serveur MySQL via Socket ?

Patricia Arquette
Libérer: 2024-12-23 13:14:14
original
349 Les gens l'ont consulté

Why Can't My PHP Code Connect to the MySQL Server via Socket?

Impossible de se connecter au serveur MySQL via Socket : dépannage

Lors de la connexion à une base de données MySQL à l'aide de la classe mysqli de PHP, vous pouvez rencontrer le problème erreur "Impossible de se connecter au serveur MySQL local via le socket 'MySQL' (2)." Cela indique que la bibliothèque client MySQL tente de se connecter via un socket de domaine Unix plutôt qu'une connexion TCP/IP.

Socket de domaine Unix contre connexion TCP/IP

Par défaut, la bibliothèque client MySQL utilise un socket de domaine Unix lors de la connexion à localhost. Il s'agit d'une méthode de connexion plus rapide et plus sécurisée, mais elle ne peut être utilisée qu'avec localhost. Pour vous connecter à MySQL en utilisant TCP/IP, spécifiez 127.0.0.1 comme nom d'hôte ou utilisez l'option --protocol=TCP.

Solutions à l'erreur

Il existe plusieurs façons de résoudre cette erreur :

  • Utiliser TCP/IP Connexion : Modifiez le nom d'hôte en 127.0.0.1 dans votre script PHP pour forcer une connexion TCP/IP.
  • Configurer le chemin du socket : Localisez le chemin d'accès au socket Unix dans le Fichier de configuration MySQL (my.cnf) et définissez mysqli.default_socket de php.ini sur celui-ci path.
  • Configurer le socket directement en PHP : Utilisez le paramètre socket lors de l'ouverture de la connexion pour spécifier directement le chemin du socket, comme indiqué dans l'exemple ci-dessous :
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal