ldap_get_option

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

ldap_get_optionObtener el valor actual para la opción dada

Descripción

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

Establece retval hacia el valor de la opción especificada.

Parámetros

link_identifier

Un enlace identificador de LDAP, devuelto por ldap_connect().

option

El parámetro option puede ser uno de estos:

Option Type
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_X_KEEPALIVE_IDLE int  
LDAP_OPT_X_KEEPALIVE_PROBES int  
LDAP_OPT_X_KEEPALIVE_INTERVAL int  
LDAP_OPT_X_TLS_CACERTDIR string  
LDAP_OPT_X_TLS_CACERTFILE string  
LDAP_OPT_X_TLS_CERTFILE string  
LDAP_OPT_X_TLS_CIPHER_SUITE string  
LDAP_OPT_X_TLS_CRLCHECK integer  
LDAP_OPT_X_TLS_CRLFILE string  
LDAP_OPT_X_TLS_DHFILE string  
LDAP_OPT_X_TLS_KEYILE string  
LDAP_OPT_X_TLS_PACKAGE string  
LDAP_OPT_X_TLS_PROTOCOL_MIN integer  
LDAP_OPT_X_TLS_RANDOM_FILE string  
LDAP_OPT_X_TLS_REQUIRE_CERT integer  
LDAP_OPT_CLIENT_CONTROLS array

retval

Este será establecido al valor de la opción.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Revisar la versión del protocolo

<?php
// $ds es un enlace identificador válido para un servidor de directorio
if (ldap_get_option($ds, LDAP_OPT_PROTOCOL_VERSION, $version)) {
echo
"Utilizando el protocolo en su versión: $version\n";
} else {
echo
"Imposible determinar la versión del protocolo\n";
}
?>

Notas

Nota:

Esta función solamente está disponible cuando se utiliza OpenLDAP 2.x.x ó Netscape Directory SDK x.x.

Ver también

add a note

User Contributed Notes 3 notes

up
9
Anonymous
9 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
12 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
0
Maarten
5 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