1. Holen Sie sich die aktuellen Konfigurationsinformationen von mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket
Erstellen Sie eine PHP-Datei und zeigen Sie phpinfo( ) :
Mit Browser öffnen:
Auf dieser Seite finden Sie Informationen zu mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket:
2. Holen Sie sich den MySQL-Socket-Pfad
Geben Sie MySQL über die Konsole ein, geben Sie den Befehl ein: STATUS, suchen Sie den UNIX-Socket-Wert
#mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server 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: 8 Current database: Current user: root@localhost SSL: Not in use Current pager: less Using outfile: ‘‘ Using delimiter: ; Server version: 5.7.11 MySQL Community Server (GPL) Protocol version: 10 Connection: 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 --------------
3. Zu diesem Zeitpunkt vergleichen Sie mysql.default_socket, mysqli.default_socket und, die über den MySQL UNIX-Socket gefunden wurden: PHP konfiguriert MySQL Es liegt ein Problem vor.
4. Konfigurieren Sie PHP neu, öffnen Sie php.ini und ändern Sie die Werte von mysql.default_socket, mysqli.default_socket und pdo_mysql.default_socketzu: /tmp/ mysql.sock
pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket=/tmp/mysql.sock mysqli.default_socket=/tmp/mysql.sock
Oder ändern Sie den Socket von my.cnf:
[client] socket=/tmp/mysql.sock [mysqld] socket=/tmp/mysql.sock
Empfohlenes Tutorial:PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP keine Verbindung zur Datenbank herstellen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!