Astuce PHP : Corriger l'erreur 2002 No such file or directory lors d'une connexion à MySQL
Vous avez installé PHP via Homebrew ? Tout fonctionne bien, et suite à une mise à jour de PHP via le gestionnaire de paquets, PHP vous renvoie une erreur 2002 No such file or directory ?
La raison est vraiment simple. En effet, dès qu'il y a une mise à jour majeure de PHP, par exemple lors du passage de 7.4 à 8.0 ou encore de 8.0 à 8.1, Homebrew créé un nouveau fichier de configuration. De fait, il est nécessaire de reprendre une partie de la configuration, en particulier, les réglages de connexion à la base de données MySQL ou MariaDB.
Pour corriger cela, il faut donc se rendre dans le dossier etc de Homebrew, et regarder les versions de PHP
ls -l /usr/local/etc/php/
De mon côté, je dispose des fichiers de configuration pour 4 versions
drwxr-xr-x 12 sky admin 384 19 jui 2020 7.3
drwxr-xr-x 11 sky admin 352 17 déc 19:23 7.4
drwxr-xr-x 11 sky admin 352 27 nov 10:11 8.0
drwxr-xr-x 10 sky admin 320 4 fév 16:03 8.1
Maintenant, il suffit d'éditer le fichier de configuration de la version souhaitée
nano /usr/local/etc/php/8.1/php.ini
Recherchez "mysqli.default_socket" ou rendez vous à la ligne 1171 du fichier (pour la version 8.1)
mysqli.default_socket =
et indiquez, le chemin de la socket MySQL, ici venant de Homebrew
mysqli.default_socket = /usr/local/var/run/mysqld/mysqld.sock
Enregistrez, puis redémarrez le serveur web
brew services restart httpd
Et voilà, c'est reparti !