Heim > Artikel > Backend-Entwicklung > PHP stellt keine Verbindung zur Datenbank her
php stellt keine Verbindung zur Datenbank her?
Zusammenfassung der Lösungen, wenn PHP keine Verbindung zu MySQL herstellen kann
1. Holen Sie sich die aktuellen Konfigurationsinformationen für mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket
Eine PHP-Datei erstellen, phpinfo() anzeigen:
Mit Browser öffnen:
Auf dieser Seite finden Sie mysql.default_socket, mysqli. default_socket , pdo_mysql.default_socket Informationen:
2. Holen Sie sich den MySQL-Socket-Pfad
Geben Sie MySQL ein Geben Sie in der Konsole 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. Vergleichen Sie zu diesem Zeitpunkt mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket und ermitteln Sie den Unterschied über den MySQL-UNIX-Socket. Dies ist der Grund für die Warnung von mysql_connect();: Es liegt ein Problem mit der PHP-Konfiguration von mysql vor.
4. Konfigurieren Sie PHP neu, öffnen Sie php.ini und ändern Sie es mysql.default_socket, mysqli.default_socket, pdo_mysql.default_socket Der Wert ist: /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.
Weitere PHP-Kenntnisse finden Sie auf der chinesischen PHP-Website!
Das obige ist der detaillierte Inhalt vonPHP stellt keine Verbindung zur Datenbank her. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!