The example in this article describes the solution to the problem of php pdo_mysql connection error Connection failed: SQLSTATE[HY000] [2002] No such file or directory. Share it with everyone for your reference. The specific method is as follows:
Error description:
Connection failed: SQLSTATE[HY000] [2002] No such file or directory
Environment Overview:
MacOS
Development environment apache mysql php built by xampp
xampp has supported mysql oracle, the test is ok, and phpinfo has shown that it supports pdo_mysql pdo_pgsql pdo_sqlite
Among them, I used brew package management to install mysql into the machine, not the mysql that comes with xampp
php pdo connection error Connection failed: SQLSTATE[HY000] [2002] No such file or directory
At first I thought that the file could not be found because of url rewrite, (because I switched from nginx to apache) but the tracking program found that the new pdo error was reported
After searching some information, I found:
This is the wrong mysql.sock path specified by pdo_mysql.default_socket in the php.ini configuration file
My mysql.sock file is in /private/tmp/mysql.sock
So set:
1. Open up php.ini (mine was in /private/etc/)
2. locate this line: pdo_mysql.default_socket=/var/mysql/mysql.sock
3. Change the line to: pdo_mysql.default_socket=/tmp/mysql.sock
4. Restart apache
1. I need to add here that if it is a new system or someone who has just started playing PHP, the php.ini file does not exist in the Mac system.
2. Need to cp php.ini.default
in the /private/etc/ directory
php.ini, and then modify it
3. But if you use xampp mysql as the database, you don’t need to use the official step 2, just write the following method.
I hope this article will be helpful to everyone’s PHP programming design.