ldap_get_option

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

ldap_get_optionПолучить текущее значение данной опции

Описание

bool ldap_get_option ( resource $link_identifier , int $option , mixed &$retval )

Устанавливает retval в значение указанной опции.

Список параметров

link_identifier

Идентификатор ссылки LDAP, возвращенный ldap_connect().

option

Параметр option может быть одним из:

Опция Тип Начиная с версии
LDAP_OPT_DEREF integer  
LDAP_OPT_SIZELIMIT integer  
LDAP_OPT_TIMELIMIT integer  
LDAP_OPT_NETWORK_TIMEOUT integer  
LDAP_OPT_PROTOCOL_VERSION integer  
LDAP_OPT_ERROR_NUMBER integer  
LDAP_OPT_REFERRALS bool  
LDAP_OPT_RESTART bool  
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 integer 7.1
LDAP_OPT_X_TLS_CRL_NONE integer 7.1
LDAP_OPT_X_TLS_CRL_PEER integer 7.1
LDAP_OPT_X_TLS_CRL_ALL integer 7.1
LDAP_OPT_X_TLS_CRLFILE string 7.1
LDAP_OPT_X_TLS_DHFILE string 7.1
LDAP_OPT_X_TLS_KEYILE string 7.1
LDAP_OPT_X_TLS_PACKAGE string 7.1
LDAP_OPT_X_TLS_PROTOCOL_MIN integer 7.1
LDAP_OPT_X_TLS_RANDOM_FILE string 7.1
LDAP_OPT_X_TLS_REQUIRE_CERT integer 7.1

retval

Будет установлен в значение опции.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Проверка версии протокола

<?php
// $ds является действительным идентификатором связи с LDAP-сервером
if (ldap_get_option($dsLDAP_OPT_PROTOCOL_VERSION$version)) {
    echo 
"Используется версия протокола $version\n";
} else {
    echo 
"Невозможно определить версию протокола\n";
}
?>

Примечания

Замечание:

Эта функция доступна только когда используется OpenLDAP 2.x.x или Netscape Directory SDK x.x.

Смотрите также

add a note add a note

User Contributed Notes 2 notes

up
7
Jeremy S
4 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
2
Anonymous
1 year 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
To Top