Heim > Artikel > Backend-Entwicklung > Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion ldap_connect()
In PHP-Anwendungen wird häufig LDAP (Lightweight Directory Access Protocol) verwendet. Manchmal erhalten Sie jedoch möglicherweise die folgende Fehlermeldung:
PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion ldap_connect()
Diese Fehlermeldung weist darauf hin, dass Ihre PHP-Version die LDAP-Erweiterung nicht lädt oder aktiviert. Dies kann leicht dazu führen, dass Benutzer keine Verbindung zum LDAP-Server herstellen und entsprechende Vorgänge ausführen können.
In diesem Artikel besprechen wir, wie Sie diese Fehlermeldung beheben können.
Stellen Sie zunächst sicher, dass die LDAP-Erweiterung in Ihrer PHP-Umgebung aktiviert wurde. Sie können dies überprüfen, indem Sie:
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
php -m | grep ldap
Wenn Sie die Ausgabe des Schlüsselworts „ldap“ sehen, wurde die LDAP-Erweiterung aktiviert. Wenn nicht, müssen Sie es aktivieren. Die genaue Methode hängt vom verwendeten System und der PHP-Version ab.
Wenn die LDAP-Erweiterung in Ihrer PHP-Umgebung nicht aktiviert ist, können Sie sie durch Bearbeiten der php.ini-Datei aktivieren. In Linux-Systemen befindet sich php.ini im Allgemeinen im Verzeichnis /etc/, während es sich in Windows-Systemen im PHP-Stammverzeichnis befindet.
Öffnen Sie die Datei php.ini und suchen Sie nach der folgenden Zeile:
;extension=php_ldap.dll
Entfernen Sie das Semikolon davor und ändern Sie die Erweiterung in diejenige, die dem von Ihnen verwendeten System entspricht:
extension=php_ldap. so (Linux)
extension=php_ldap.dll (Windows)
Speichern und schließen Sie die Datei und starten Sie dann Ihren Webserver neu.
Wenn Sie die LDAP-Erweiterung aktiviert haben und sie immer noch nicht ordnungsgemäß funktioniert, versuchen Sie, Ihren Webserver neu zu starten.
In Linux-Systemen können Sie den folgenden Befehl verwenden, um Apache neu zu starten:
sudo service apache2 restart
In Windows-Systemen können Sie die folgenden Befehle verwenden, um IIS neu zu starten:
iisreset
Wenn die LDAP-Erweiterung aktiviert wurde und Sie den Webserver neu gestartet haben, aber immer noch keine Verbindung zum LDAP-Server herstellen können, kann es daran liegen, dass der LDAP-Dienst nicht verfügbar ist.
Sie können den folgenden Befehl ausprobieren, um zu überprüfen, ob der LDAP-Dienst verfügbar ist:
telnet your-ldap-server-hostname 389
Wenn die Ausgabe der folgenden ähnelt, ist der LDAP-Dienst verfügbar:
Versuchen Sie 10.0. 2.15...
Verbunden mit dem Hostnamen Ihres LDAP-Servers.
Escape-Zeichen ist „^]“.
Schließlich müssen Sie sicherstellen, dass Ihr PHP-Code korrekt ist ist richtig. Überprüfen Sie, ob die Stelle im PHP-Code, an der die Funktion ldap_connect() aufgerufen wird, korrekt ist, und stellen Sie sicher, dass alle Parameter korrekt sind. Bevor Sie die Funktion aufrufen, müssen Sie sicherstellen, dass die LDAP-Erweiterung geladen ist und der LDAP-Dienst verfügbar ist.
Zusammenfassung
Wenn Sie auf die Fehlermeldung „Aufruf der undefinierten Funktion ldap_connect()“ stoßen, befolgen Sie bitte die oben genannten Schritte, um dies nacheinander zu überprüfen. Überprüfen Sie zunächst, ob die LDAP-Erweiterung aktiviert wurde, und bestätigen Sie dann, ob die Datei php.ini korrekt konfiguriert wurde. Zweitens müssen Sie den Webserver neu starten und prüfen, ob der LDAP-Dienst verfügbar ist. Stellen Sie abschließend sicher, dass Ihr PHP-Code korrekt ist. Wenn Sie die oben genannten Schritte zur Behebung ausgeführt haben, das Problem jedoch weiterhin besteht, können Sie die Verwendung anderer ähnlicher Erweiterungen oder die Verwendung der LDAP-Schnittstellenbibliothek in Betracht ziehen.
Das obige ist der detaillierte Inhalt vonLösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion ldap_connect(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!