Heim  >  Artikel  >  Backend-Entwicklung  >  So lösen Sie das Problem, dass PHP MySQL keine Verbindung zur Datenbank herstellen kann

So lösen Sie das Problem, dass PHP MySQL keine Verbindung zur Datenbank herstellen kann

藏色散人
藏色散人Original
2020-08-01 09:28:173489Durchsuche

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“ .

So lösen Sie das Problem, dass PHP MySQL keine Verbindung zur Datenbank herstellen kann

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn