Lösung für das Problem, dass PHP MySQL keine Verbindung zur Datenbank herstellen kann: Rufen Sie zuerst den aktuellen „mysql.default_socket“ und andere Informationen ab. Öffnen Sie dann den MySQL-Socket-Pfad und ändern Sie die Werte wie „mysql.default_socket“ .
Empfohlen: „PHP-Video-Tutorial“
1. Holen Sie sich den aktuellen mysql.default_socket, mysqli . default_socket, pdo_mysql.default_socket Konfigurationsinformationen
Erstellen Sie eine PHP-Datei und zeigen Sie phpinfo() an:
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 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--------------
3 Zu diesem Zeitpunkt vergleichen Sie mysql.default_socket, mysqli.default_socket und stellen fest, dass sie sich durch den MySQL UNIX-Socket unterscheiden. Es liegt ein Problem mit der PHP-Konfiguration von MySQL vor.
4. Konfigurieren Sie PHP neu, öffnen Sie php.iniÄndern Sie die Werte von mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket in: /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
5. Starten Sie Nginx oder Apache neu
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass PHP MySQL keine Verbindung zur Datenbank herstellen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!