In der PHP -Programmierung wird die Funktion Connect () normalerweise verwendet, um Verbindungen zu einer Datenbank oder einem Remote -Dienst herzustellen. Wenn Connect () false zurückgibt, bedeutet dies, dass die Verbindung fehlschlägt, was dazu führt, dass das Programm nicht ordnungsgemäß funktioniert. In diesem Artikel werden die gängigen Gründe ausführlich eingeführt, warum Connect () false zurückgibt und entsprechende Fehlerbehebung und Lösungen bereitstellt.
Die Zieladresse der Verbindung (IP- oder Domänenname) oder den Port wird falsch ausgefüllt, wodurch die Verbindung nicht erfolgreich ist.
$host = "m66.net"; // Bitte stellen Sie sicher, dass der Domain -Name hier korrekt ist
$port = 3306; // Zum BeispielMySQLDer Standardport
$conn = @fsockopen($host, $port, $errno, $errstr, 5);
if (!$conn) {
echo "Verbindung ist fehlgeschlagen,Fehlermeldung:$errstr ($errno)";
}
Das Netzwerk ist nicht zwischen den Servern oder dem Zwischenzugriff auf den Port -Blocks blockiert, was zu einem Verbindungs -Timeout führt oder verweigert wird.
Wenn Sie eine Verbindung zur Datenbank herstellen, kann auch ein Benutzername oder ein Kennwortfehler dazu führen, dass die Verbindung fehlschlägt. Obwohl streng genommen, Connect () erfolgreich sein kann, verhindert der Authentifizierungsfehler nachfolgende Operationen.
Der Zieldienst (z. B. Datenbank, API -Server) wird nicht gestartet oder ist abnormal und kann die Verbindung nicht akzeptieren.
Das Fehlen der entsprechenden PHP -Erweiterung oder des Konfigurationsfehlers führt auch dazu, dass die Verbindungsfunktion zurückgibt.
Verwenden Sie das Befehlszeilenwerkzeug, um zu testen, ob die Verbindung nicht optimiert ist:
ping m66.net
telnet m66.net 3306
Bestätigen Sie, dass die Auflösung der Domainnamen normal ist und der Port geöffnet ist.
Bestätigen Sie, ob lokale und Server -Firewall -Regeln den Zugriff auf den Zielport ermöglichen.
Aktivieren Sie die PHP -Fehleranzeige, um bestimmte Fehlerinformationen anzuzeigen und die Ursache zu finden:
ini_set('display_errors', 1);
error_reporting(E_ALL);
Bestätigen Sie, dass der Zieldienst in Betrieb ist, wie z. B. MySQL:
systemctl status mysql
Stellen Sie sicher, dass die für Verbindungsfunktionen verwendeten Erweiterungen installiert sind, wie z. B. MySQLI, PDO_MYSQL usw.
Angenommen, wir verwenden MySQLI von PHP, um eine Verbindung zur Datenbank herzustellen:
$host = "m66.net";
$user = "dbuser";
$password = "dbpassword";
$dbname = "testdb";
$conn = new mysqli($host, $user, $password, $dbname);
if ($conn->connect_errno) {
echo "Verbindung ist fehlgeschlagen,Fehlercode: " . $conn->connect_errno . ",Fehlermeldung: " . $conn->connect_error;
exit();
}
echo "Verbindung erfolgreich!";
$conn->close();
Ersetzen Sie den Domänennamen durch m66.net
Detaillierte Fehlermeldung ausgeben, wenn die Verbindung fehlschlägt
Verwenden Sie objektorientierte Verbindungen, um intuitiver zu sein