ldap_get_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ldap_get_optionLiefert den aktuellen Wert einer gegebenen Option

Beschreibung

ldap_get_option ( resource $ldap , int $option , array|string|int &$value = null ) : bool

Setzt value auf den Wert der angegebenen Option.

Parameter-Liste

ldap

Eine LDAP-Verbindungskennng, geliefert von ldap_connect().

option

Der Parameter option ist einer der folgenden:

Option Type seit
LDAP_OPT_DEREF int  
LDAP_OPT_SIZELIMIT int  
LDAP_OPT_TIMELIMIT int  
LDAP_OPT_NETWORK_TIMEOUT int  
LDAP_OPT_PROTOCOL_VERSION int  
LDAP_OPT_ERROR_NUMBER int  
LDAP_OPT_DIAGNOSTIC_MESSAGE int  
LDAP_OPT_REFERRALS int  
LDAP_OPT_RESTART int  
LDAP_OPT_HOST_NAME string  
LDAP_OPT_ERROR_STRING string  
LDAP_OPT_MATCHED_DN string  
LDAP_OPT_SERVER_CONTROLS array  
LDAP_OPT_CLIENT_CONTROLS array  
LDAP_OPT_X_KEEPALIVE_IDLE int 7.1
LDAP_OPT_X_KEEPALIVE_PROBES int 7.1
LDAP_OPT_X_KEEPALIVE_INTERVAL int 7.1
LDAP_OPT_X_TLS_CACERTDIR string 7.1
LDAP_OPT_X_TLS_CACERTFILE string 7.1
LDAP_OPT_X_TLS_CERTFILE string 7.1
LDAP_OPT_X_TLS_CIPHER_SUITE string 7.1
LDAP_OPT_X_TLS_CRLCHECK int 7.1
LDAP_OPT_X_TLS_CRL_NONE int 7.1
LDAP_OPT_X_TLS_CRL_PEER int 7.1
LDAP_OPT_X_TLS_CRL_ALL int 7.1
LDAP_OPT_X_TLS_CRLFILE string 7.1
LDAP_OPT_X_TLS_DHFILE string 7.1
LDAP_OPT_X_TLS_KEYFILE string 7.1
LDAP_OPT_X_TLS_PACKAGE string 7.1
LDAP_OPT_X_TLS_PROTOCOL_MIN int 7.1
LDAP_OPT_X_TLS_RANDOM_FILE string 7.1
LDAP_OPT_X_TLS_REQUIRE_CERT int  

value

Dies wird auf den Wert der Option gesetzt.

Rückgabewerte

Gibt bei Erfolg true zurück. Im Fehlerfall wird false zurückgegeben.

Beispiele

Beispiel #1 Prüfen der Protokollversion

<?php
// $ds ist eine gültige Verbindungskennung für einen Verzeichnis-Server

if (ldap_get_option($dsLDAP_OPT_PROTOCOL_VERSION$version)) {
    echo 
"Sie verwenden die Protokollversion $version\n";
} else {
    echo 
"Protokollversion konnte nicht bestimmt werden\n";
}
?>

Anmerkungen

Hinweis:

Diese Funktion steht nur zur Verfügung, wenn Sie OpenLDAP 2.x.x ODER Netscape Directory SDK x.x verwenden.

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
8
Anonymous
7 years ago
Following on from Jeremy S's example.
Instead of defining LDAP_OPT_DIAGNOSTIC_MESSAGE as 0x32 then using it, you can just use the option already defined as that value :)

LDAP_OPT_ERROR_STRING
up
6
Jeremy S
10 years ago
Here is how to tell if an Active Directory user account expired:

define('LDAP_OPT_DIAGNOSTIC_MESSAGE', 0x0032);

ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($conn, LDAP_OPT_REFERRALS, 0);

$bind = ldap_bind($conn, $user, $pass);

ldap_get_option($conn, LDAP_OPT_DIAGNOSTIC_MESSAGE, $extended_error);

if (!empty($extended_error))
{
    $errno = explode(',', $extended_error)[2];
    $errno = explode(' ', $errno)[2];
    $errno = intval($errno);

    if ($errno == 532)
        $err = 'Unable to login: Password expired.';
}
up
1
Maarten
4 years ago
PHP 7.1 added support for configuring the LDAP CA/Cert environment directly, rather than relying on the environment variables. I noticed that a lot of people are having trouble getting this to work.

The correct way is:
$ds=ldap_connect("ldap.google.com"); 
ldap_set_option(NULL, LDAP_OPT_X_TLS_CERTFILE, "/path/file.crt");
ldap_set_option(NULL, LDAP_OPT_X_TLS_KEYFILE, "/path/file.key");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
ldap_start_tls($ds);
...
ldap_close($ds);
To Top