ldap_set_option

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

ldap_set_optionModifica el valor de una opción LDAP

Descripción

ldap_set_option(?LDAP\Connection $ldap, int $option, array|string|int|bool $value): bool

Modifica el valor de la opción option reemplazando el valor actual por value.

Parámetros

ldap

Puede ser una instancia LDAP\Connection, devuelta por ldap_connect(), para definir la opción para esta conexión, o null para definir la opción globalmente.

option

El parámetro option puede tomar uno de los siguientes valores:

Opción Tipo Disponible a partir de
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_KEYILE 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

Las opciones LDAP_OPT_SERVER_CONTROLS y LDAP_OPT_CLIENT_CONTROLS requieren una lista de controles, lo que significa que el valor debe ser un array de controles. Un control está compuesto por un oid como identificador, un valor opcional value, y un flag opcional de "criticalidad" (criticality). En PHP, un control se define como un array, por lo que las claves son oid con una cadena como valor, y dos claves opcionales. Estas claves son value con una cadena como valor, y iscritical con un valor booleano. Por omisión, iscritical vale false. Ver el archivo » draft-ietf-ldapext-ldap-c-api-xx.txt para más detalles. Consulte el segundo ejemplo para una ilustración.

Nota:

Todas las opciones TLS deben ser definidas globalmente antes de ldap_connect() para una conexión ldaps, o para la conexión antes de ldap_start_tls().

value

El nuevo valor para la opción option especificada.

Valores devueltos

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

Historial de cambios

Versión Descripción
8.1.0 The ldap parameter expects an LDAP\Connection instance now; previously, a valid ldap link recurso was expected.

Ejemplos

Ejemplo #1 Modificación de la versión del protocolo

<?php
// $ds debe ser una instancia de conexión LDAP\Connection válida
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo
"Versión LDAPv3";
} else {
echo
"No es posible modificar la versión del protocolo a 3";
}
?>

Ejemplo #2 Modificación de los controles del servidor

<?php
// $ds debe ser una instancia de conexión LDAP\Connection válida
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical vale por omisión FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// intenta usar los dos controles
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
echo
"No es posible modificar los controles del servidor";
}
?>

Notas

Nota:

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

Ver también