J'essaie d'installer des forums Vanilla sur mon Mac, et pour cela je viens de créer une base de données et un utilisateur depuis la ligne de commande mysql:
mysql> CREATE DATABASE Vanilla;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'Vanilla_user3'@'localhost' IDENTIFIED BY 'Vanilla_password';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON * . * TO 'Vanilla_user3'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
J'essaie donc de me connecter en utilisant le code suivant:
$con=mysqli_connect("localhost","Vanilla_user3","Vanilla_password","Vanilla");
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mais malheureusement, je reçois une erreur disant Warning: mysqli_connect(): (HY000/2002): No such file or directory in /Users/kramer65/Sites/Vanilla/info.php on line 3 Failed to connect to MySQL: No such file or directory
Une idée où je me trompe?
D'accord, je viens de trouver la solution. Le problème s'est avéré que l'hôte n'aurait pas dû être localhost
, mais 127.0.0.1
. J'ai toujours pensé localhost
et 127.0.0.1
était le même, mais il s'est avéré différent.
Alors peut-être comme astuce pour les futurs utilisateurs, utilisez toujours l'ip en cas de doute.
Je vous souhaite à tous une belle journée!
J'ai eu le même problème, mais le problème était lié à php.ini
fichier.
J'ai dû éditer ces deux lignes dans /etc/php.ini
(ou partout où votre php.ini
est situé):
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock
Redémarrez le serveur Apache pour vous assurer que les modifications sont reflétées.
Sudo apachectl restart
Disons que votre port MAMP MySQL est défini sur 8889 comme il l'est par défaut. Parfois, localhost
seul ne suffit pas, auquel cas vous devez également y mettre le port MySQL pour que vous fassiez localhost:8889
Ou localhost:{whatever your MySQL port number is}
. Je suis encore nouveau sur MySQL, donc je ne connais pas la raison, mais pour tous ceux qui ont récemment reçu le message: Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in ...
l'ajout du numéro de port MySQL sur localhost était la solution pour moi.