Beim Versuch, eine Verbindung zu einer MySQL-Datenbank mithilfe der mysqli-Klasse in PHP herzustellen, wird ein Es kann ein Fehler auftreten:
mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket 'MySQL' (2)
Dieser Fehler weist auf ein Problem mit der Verbindung über den angegebenen Socket hin. 'MySQL'.
Beim Herstellen einer Verbindung zu Localhost mit „localhost“ als Host versucht MySQL, einen Unix-Domänen-Socket für eine schnellere und möglicherweise sicherere Verbindung zu verwenden. Wenn der Socket jedoch nicht konfiguriert oder nicht zugänglich ist, schlägt die Verbindung mit Fehler 2 fehl.
Um dieses Problem zu beheben, können mehrere Ansätze gewählt werden:
1. Verwenden von TCP/IP anstelle von Unix Socket:
Ersetzen Sie „localhost“ durch die IP-Adresse 127.0.0.1 in Ihrer Verbindungszeichenfolge. Dadurch wird eine TCP/IP-Verbindung erzwungen.
2. Festlegen von mysqli.default_socket:
Suchen Sie die my.cnf-Konfigurationsdatei für MySQL und identifizieren Sie den Pfad zum Socket. Öffnen Sie dann die Datei php.ini und setzen Sie den Wert „mysqli.default_socket“ auf diesen Pfad.
3. Konfigurieren des Sockets im PHP-Skript:
Fügen Sie den Socket-Pfad direkt in das PHP-Skript ein, wenn Sie die Verbindung herstellen, wie unten gezeigt:
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock');
Durch Implementierung einer dieser Lösungen können Sie die Unix-Socket-Verbindung umgehen und eine erfolgreiche Verbindung zu Ihrer MySQL-Datenbank herstellen.
Das obige ist der detaillierte Inhalt vonWarum kann ich über die mysqli-Klasse von PHP keine Verbindung zu meinem lokalen MySQL-Server herstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!