Diagnostizieren und beheben Sie Probleme mit der PHP-Datenbankverbindung. Stellen Sie sicher, dass die Verbindungsinformationen (Hostname, Benutzername, Passwort) korrekt sind. Verwenden Sie mysqli_connect_errno() und mysqli_connect_error(), um Fehlerinformationen abzurufen. Weitere Informationen finden Sie in der Protokolldatei. Stellen Sie sicher, dass die Firewall Verbindungen zum Port des Datenbankservers (normalerweise 3306) zulässt. Überprüfen Sie, ob der Datenbankserver ausgeführt wird.
So diagnostizieren und lösen Sie PHP-Datenbankverbindungsprobleme
Datenbankverbindungsprobleme sind häufige Fehler in der PHP-Entwicklung. In diesem Artikel erfahren Sie, wie Sie diese Probleme diagnostizieren und beheben können. Schritt 1: Überprüfen Sie die Verbindungsinformationen korrekt sind und über die erforderlichen Zugriffsrechte verfügen.
Schritt 2: Verwenden Sie mysqli_connect_errno()
und mysqli_connect_error()
mysqli_connect()
Die Funktion gibt einen booleschen Wert zur Anzeige zurück Die Verbindung ob erfolgreich ist. Wenn die Verbindung fehlschlägt, können Sie die Funktionen mysqli_connect_errno()
und mysqli_connect_error()
verwenden, um den Fehlercode und die Fehlermeldung abzurufen.
$link = mysqli_connect("hostname", "username", "password", "database"); if (!$link) { $error_code = mysqli_connect_errno(); $error_message = mysqli_connect_error(); }
/var/log/php-fpm.log
oder /var/log/php.log
. mysqli_connect_errno()
和 mysqli_connect_error()
mysqli_connect()
函数会返回一个布尔值表示连接是否成功。如果连接失败,您可以使用 mysqli_connect_errno()
和 mysqli_connect_error()
函数获取错误代码和消息。
示例:
sudo service mysql status
第三步:检查日志文件
您的 PHP 配置中可能启用了日志。检查日志文件以获取有关连接问题的详细信息。日志文件通常位于 /var/log/php-fpm.log
或 /var/log/php.log
中。
第四步:防火墙和端口
确保防火墙允许连接到数据库服务器的端口。通常,MySQL 服务器使用端口 3306。
第五步:数据库服务器状态
检查数据库服务器是否正在运行。您可以使用以下命令:
sudo service mysql start
如果服务器未运行,请使用以下命令启动它:
rrreee实战案例
问题:连接到 MySQL 数据库时出现 mysqli_connect(): (HY000/1130): Host 'localhost' is not allowed to connect to this MySQL server
Stellen Sie sicher, dass die Firewall die Verbindung des Ports mit dem Datenbankserver zulässt. Normalerweise verwendet der MySQL-Server Port 3306.
Schritt 5: Status des Datenbankservers
🎜Überprüfen Sie, ob der Datenbankserver läuft. Sie können den folgenden Befehl verwenden: 🎜rrreee🎜Wenn der Server nicht läuft, starten Sie ihn mit dem folgenden Befehl: 🎜rrreee🎜🎜Praktischer Fall🎜🎜🎜🎜Problem: 🎜mysqli_connect(): (HY000/ 1130): Host „localhost“ darf keine Verbindung zu diesem MySQL-Server herstellen
Fehler. 🎜🎜🎜Lösung: 🎜Überprüfen Sie die Firewall-Regeln und stellen Sie fest, dass MySQL-Port 3306 nicht zulässig ist. Lassen Sie den Port in der Firewall zu und das Problem ist gelöst. 🎜
Das obige ist der detaillierte Inhalt vonWie kann man Probleme mit der PHP-Datenbankverbindung diagnostizieren und beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!