Warning: mysqli_connect(): (HY000/2002): No such file or directory
P粉693126115
2023-08-27 17:47:27
<p>I'm trying to install a regular forum on my Mac, for which I just created a database and a user from the MySQL command line: </p>
<pre class="brush:php;toolbar:false;">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)</pre>
<p>So I tried to connect using the following code: </p>
<pre class="brush:php;toolbar:false;">$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla");
if (mysqli_connect_errno($con)) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}</pre>
<p>But unfortunately, I got an error message</p>
<blockquote>
<p>Warning: mysqli_connect(): (HY000/2002): No such file or directory in /Users/kramer65/Sites/vanilla/info.php on line 3
Unable to connect to MySQL: No such file or directory</p>
</blockquote>
<p>Do you know where I went wrong? </p>
I encountered the same problem, but the problem was related to the
php.ini
file.I had to edit these two lines in
/etc/php.ini
(or wherever yourphp.ini
is):Restart the apache server to ensure changes are reflected.
Okay, I just found the solution. It turns out that the problem is that the host should not be
localhost
, but127.0.0.1
. I always thoughtlocalhost
and127.0.0.1
were the same, but the results are different.So, maybe as a tip to future users, always use IP when in doubt.