(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ldap_set_option — Устанавливает значение опции
Функция устанавливает для опции значение value.
ldap
Параметр принимает либо экземпляр класса LDAP\Connection, который возвращает функция ldap_connect(),
и устанавливает значение опции для этого соединения, либо значение null для установки глобального значения опции.
option
Параметр option принимает константу из следующего списка:
| Опция | Тип | Доступна с |
|---|---|---|
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_REFERRALS |
bool | |
LDAP_OPT_RESTART |
bool | |
LDAP_OPT_HOST_NAME |
string | |
LDAP_OPT_ERROR_STRING |
string | |
LDAP_OPT_DIAGNOSTIC_MESSAGE |
string | |
LDAP_OPT_MATCHED_DN |
string | |
LDAP_OPT_SERVER_CONTROLS |
array | |
LDAP_OPT_CLIENT_CONTROLS |
array | |
LDAP_OPT_X_KEEPALIVE_IDLE |
int | PHP 7.1.0 |
LDAP_OPT_X_KEEPALIVE_PROBES |
int | PHP 7.1.0 |
LDAP_OPT_X_KEEPALIVE_INTERVAL |
int | PHP 7.1.0 |
LDAP_OPT_X_TLS_CACERTDIR |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_CACERTFILE |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_CERTFILE |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_CIPHER_SUITE |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_CRLCHECK |
int | PHP 7.1.0 |
LDAP_OPT_X_TLS_CRLFILE |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_DHFILE |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_KEYFILE |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_PROTOCOL_MIN |
int | PHP 7.1.0 |
LDAP_OPT_X_TLS_RANDOM_FILE |
string | PHP 7.1.0 |
LDAP_OPT_X_TLS_REQUIRE_CERT |
int | PHP 7.0.5 |
Опции LDAP_OPT_SERVER_CONTROLS и LDAP_OPT_CLIENT_CONTROLS
требуют список элементов управления, поэтому значение передают как массив элементов управления.
Элемент управления состоит из записи с ключом oid, значение которого определяет элемент управления,
необязательного поля value, и дополнительного флага в записи с ключом criticality.
В PHP элемент управления задаётся массивом, который содержит элемент массива с ключом oid
со строковым значением, и двумя необязательными элементами массива.
Необязательные элементы — ключ value со строковым значением
и ключ iscritical с логическим значением.
Для элемента с ключом iscritical по умолчанию устанавливается значение false,
если не указали другое значение.
Подробнее API протокола LDAP описывает документ » draft-ietf-ldapext-ldap-c-api-xx.txt.
Смотрите также второй пример на этой странице.
Замечание:
TLS-параметры учитываются LDAPS-подключением, которое создаёт функция ldap_connect(), или TLS-подключением, которое устанавливает функция ldap_start_tls(), только если параметры установили глобально и до инициализации соединения.
value
Новое значение опции option.
Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.
| Версия | Описание |
|---|---|
| 8.1.0 |
Параметр ldap теперь ожидает экземпляр класса LDAP\Connection;
раньше параметр ждал ресурс (resource) ldap link .
|
Пример #1 Пример установки версии протокола
<?php
// Переменная $ds — допустимый для сервера каталогов экземпляр класса LDAP\Connection
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "Функция установила в объекте подключения 3-ю версию протокола — LDAPv3";
} else {
echo "Сбой установки 3-й версии протокола";
}
?>Пример #2 Пример установки серверных элементов управления
<?php
// Переменная $ds — допустимый для сервера каталогов экземпляр класса LDAP\Connection.
// Элемент управления без элемента с ключом value
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// Для элемента с ключом iscritical по умолчанию устанавливается значение FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// Попытка установить оба элемента управления
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
echo "Сбой установки серверных элементов управления";
}
?>Замечание:
Функция доступна только при работе с протоколом OpenLDAP 2.x.x или набором инструментов Netscape Directory SDK x.x.