Start · Sprachen · PHP · Referenz · ldap_close

ldap_close

Funktion

Schließt eine LDAP-Verbindung – Alias von <code>ldap_unbind()</code>.

seit PHP 4.0.0 Kategorie: misc

Signatur

ldap_close(LDAP $ldap): bool

Beschreibung

ldap_close() ist ein direkter Alias der Funktion ldap_unbind() und trennt die bestehende Verbindung zu einem LDAP-Server. Der übergebene LDAP-Link-Identifier wird dabei ungültig und gibt die zugehörigen Ressourcen frei.

Die Funktion sendet intern ein LDAP-Unbind-Protokollanfrage an den Server, um die Verbindung ordnungsgemäß zu beenden. Dies entspricht dem RFC 4511-Standard für LDAP-Verbindungsmanagement.

Da ldap_close() lediglich ein Alias ist, verhält sie sich in allen Belangen identisch zu ldap_unbind(). Es wird empfohlen, konsistent eine der beiden Varianten zu verwenden – ldap_unbind() ist dabei die semantisch aussagekräftigere Wahl, da sie den zugrundeliegenden Protokollvorgang besser beschreibt.

In modernen PHP-Versionen (ab PHP 8.1) erwartet die Funktion eine LDAP\Connection-Instanz anstelle einer klassischen Ressource.

Parameter

Name Typ Default Beschreibung
$ldap Pflicht LDAP Ein gültiger LDAP-Link-Identifier, wie er von ldap_connect() zurückgegeben wird. Ab PHP 8.1 handelt es sich um ein LDAP\Connection-Objekt.

Rückgabewert

Typ
bool
Beschreibung
Gibt true bei Erfolg zurück, false bei einem Fehler (z. B. wenn der übergebene Identifier bereits ungültig ist).

Beispiele

Einfaches Verbindungs-Auf- und Abbau-Beispiel

<?php
// LDAP-Verbindung herstellen
$ldap = ldap_connect('ldap://ldap.example.com');

if ($ldap) {
    // Optionen setzen
    ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);

    // Anonym binden
    if (ldap_bind($ldap)) {
        echo "Verbindung erfolgreich hergestellt.\n";

        // ... LDAP-Operationen durchführen ...

        // Verbindung schließen
        ldap_close($ldap);
        echo "Verbindung geschlossen.\n";
    } else {
        echo "Binden fehlgeschlagen.\n";
    }
} else {
    echo "Verbindung konnte nicht aufgebaut werden.\n";
}
Verbindung erfolgreich hergestellt. Verbindung geschlossen.

Verbindung nach authentifizierter Suche schließen

<?php
$ldap = ldap_connect('ldap://ldap.example.com');
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);

$bindDn = 'cn=admin,dc=example,dc=com';
$bindPassword = 'geheimesPasswort';

if (ldap_bind($ldap, $bindDn, $bindPassword)) {
    $baseDn  = 'dc=example,dc=com';
    $filter  = '(uid=mustermann)';
    $result  = ldap_search($ldap, $baseDn, $filter);
    $entries = ldap_get_entries($ldap, $result);

    echo "Gefundene Einträge: " . $entries['count'] . "\n";
}

// Verbindung ordnungsgemäß beenden
ldap_close($ldap);
Gefundene Einträge: 1

// Wichtig · Fallstricke

Alias-Hinweis: Da ldap_close() ein Alias von ldap_unbind() ist, sind beide Funktionen vollständig austauschbar. In Code-Reviews und Projekten sollte eine einheitliche Verwendung bevorzugt werden, um Verwirrung zu vermeiden.

Ressourcenverwaltung: PHP gibt LDAP-Verbindungen am Ende eines Skripts automatisch frei. Dennoch ist es gute Praxis, Verbindungen explizit zu schließen – besonders bei lang laufenden Skripten oder wenn viele Verbindungen hintereinander geöffnet werden, um Ressourcenlecks zu vermeiden.

PHP 8.1+: Ab PHP 8.1 wurden LDAP-Ressourcen in LDAP\Connection-Objekte umgewandelt. Code, der ältere Ressourcen-Typen erwartet, muss entsprechend angepasst werden.