How to solve the problem that php mysql cannot connect to the database

藏色散人
Release: 2023-03-03 16:26:02
Original
3401 people have browsed it

php The solution to the problem that mysql cannot connect to the database: first obtain the current "mysql.default_socket" and other information; then obtain the MySQL socket path; finally open "php.ini" and modify the values such as "mysql.default_socket" .

How to solve the problem that php mysql cannot connect to the database

Recommended: "PHP Video Tutorial"

1. Get the current mysql.default_socket, mysqli. default_socket, pdo_mysql.default_socket configuration information

Create a PHP file and display phpinfo():

Open with browser:

On this page, find mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket information:

##2. Get the MySQL socket path

Enter MySQL through the console, enter the command: STATUS, find the UNIX socket value

#mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8Server version: 5.7.11 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. mysql> STATUS--------------mysql Ver 14.14 Distrib 5.7.11, for osx10.9 (x86_64) using EditLine wrapper Connection id: 8Current database: Current user: root@localhost SSL: Not in use Current pager: lessUsing outfile: ‘‘ Using delimiter: ; Server version: 5.7.11 MySQL Community Server (GPL) Protocol version: 10Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /tmp/mysql.sock Uptime: 8 days 15 hours 1 min 17 sec Threads: 2 Questions: 21 Slow queries: 0 Opens: 114 Flush tables: 1 Open tables: 0 Queries per second avg: 0.000--------------
Copy after login

3. At this time, you compare mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket and find that they are different through MySQL UNIX socket. This is the reason for the mysql_connect(); warning: There is a problem with PHP configuring mysql.

4. Reconfigure PHP, open php.iniModify the values of mysql.default_socket, mysqli.default_socket, and pdo_mysql.default_socket to:/tmp/mysql.sock

pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket=/tmp/mysql.sock mysqli.default_socket=/tmp/mysql.sock
Copy after login
Or modify the socket of my.cnf:

[client] socket=/tmp/mysql.sock [mysqld] socket=/tmp/mysql.sock
Copy after login

5. Restart nginx or apache

The above is the detailed content of How to solve the problem that php mysql cannot connect to the database. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!