(PHP 7 >= 7.2.0, PHP 8)
ldap_exop — Выполняет расширенную операцию
$ldap,$request_oid,$request_data = null,$controls = null,&$response_data = ?,&$response_oid = ?
Выполняет расширенную операцию для заданного соединения ldap с OID
операции request_oid и данными
request_data.
Использование более 4 параметров объявлено устаревшим, используйте вместо этого ldap_exop_sync().
ldaprequest_oidLDAP_EXOP_*
или строкой с OID операции.
request_datanull для операций типа
LDAP_EXOP_WHO_AM_I. Может потребоваться закодировать BER.
controlsresponse_dataresponse_oid
Функция возвращает true или false, если функцию вызвали
с параметром response_data. Функция возвращает
идентификатор ресурса или false, если функцию вызвали без параметра
response_data.
| Версия | Описание |
|---|---|
| 8.4.0 | Использование более 4 параметров объявлено устаревшим, используйте вместо этого ldap_exop_sync(). |
| 8.1.0 |
Параметр ldap теперь принимает объект LDAP\Connection;
раньше параметр ждал ресурс (resource) ldap link .
|
| 7.3.0 |
Добавлена поддержка параметра controls.
|
Пример #1 Расширенная операция Whoami
<?php
$ds = ldap_connect("localhost"); // Предположим, что сервер LDAP запущен локально
if ($ds) {
// Привязываемся к нужному имени DN
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "Невозможно привязаться к LDAP";
exit;
}
// Вызываем WHOAMI EXOP
$r = ldap_exop($ds, LDAP_EXOP_WHO_AM_I);
// Разбираем полученный ответ
ldap_parse_exop($ds, $r, $response_data);
// Вывод: string(31) "dn:cn=root, o=My Company, c=US"
var_dump($response_data);
// То же самое, но с параметром $response_data
$success = ldap_exop($ds, LDAP_EXOP_WHO_AM_I, NULL, NULL, $response_data, $retoid);
if ($success) {
var_dump($response_data);
}
ldap_close($ds);
} else {
echo "Невозможно соединиться с сервером LDAP";
}
?>