(PHP 7 >= 7.2.0, PHP 8)
ldap_exop — Realiza uma operação estendida
$ldap,$request_oid,$request_data = null,$controls = null,&$response_data = ?,&$response_oid = ?
Realiza uma operação estendida no ldap especificado com
o OID da operação em request_oid e os dados em
request_data.
O uso de mais de 4 parâmetros foi descontinuado. Use ldap_exop_sync() em vez disso.
ldaprequest_oidLDAP_EXOP_*
ou uma string com o OID da operação.
request_dataLDAP_EXOP_WHO_AM_I, e também podem precisar ser codificados em BER.
controlsresponse_dataresponse_oid
Quando usado com response_data, retorna true em caso de sucesso ou false em caso de erro.
Quando usado sem response_data, retorna um identificador de resultado ou false em caso de erro.
| Versão | Descrição |
|---|---|
| 8.4.0 | O uso de mais de 4 parâmetros foi descontinuado. Use ldap_exop_sync() em vez disso. |
| 8.1.0 |
O parâmetro ldap agora espera uma instância de LDAP\Connection;
anteriormente, um resource ldap link válido era esperado.
|
| 7.3.0 |
Adicionado suporte para controls.
|
Exemplo #1 Operação estendida 'Whoami'
<?php
$ds = ldap_connect("localhost"); // assumindo que o servidor LDAP é local
if ($ds) {
// faz ligação com dn apropriado para acesso de atualização
$bind = ldap_bind($ds, "cn=root, o=My Company, c=US", "secret");
if (!$bind) {
echo "Não foi possível ligar ao servidor";
exit;
}
// Chama a operação estendida WHOAMI
$r = ldap_exop($ds, LDAP_EXOP_WHO_AM_I);
// Interpreta o objeto de resultado
ldap_parse_exop($ds, $r, $retdata);
// Mostra: string(31) "dn:cn=root, o=My Company, c=US"
var_dump($retdata);
// O mesmo usando $response_data parameter
$success = ldap_exop($ds, LDAP_EXOP_WHO_AM_I, NULL, NULL, $retdata, $retoid);
if ($success) {
var_dump($retdata);
}
ldap_close($ds);
} else {
echo "Não foi possível conectar ao servidor LDAP";
}
?>