


Solution to the error Connection failed SQLSTATE when php uses pdo connection, pdosqlstate_PHP tutorial
Jul 13, 2016 am 10:11 AMphp uses pdo connection to report error Connection failed SQLSTATE solution, pdosqlstate
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:
If you don’t know where your mysql.sock is, you can search for it (because the compilation and installation are different from the installation locations of package management tools such as yum, apt-get, or brew)
sudo find / -name 'mysql.sock'
Here are the official bug fixes
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.
Solution three:
Set the following three originally blank values to:
mysql.default_socket = /tmp/mysql.sock
pdo_mysql.default_socket= /tmp/mysql.sock
mysqli.default_socket =/tmp/mysql.sock
All modified
Use
after modification is completed
Problem solved!
I hope this article will be helpful to everyone’s PHP programming design.

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian

Deepseek official website entrance access guide Solve the common problems that cannot be logged in

How To Set Up Visual Studio Code (VS Code) for PHP Development
