(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ldap_set_option — Modifica el valor de una opción LDAP
Modifica el valor de la opción option
reemplazando el valor
actual por value
.
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.
Versión | Descripción |
---|---|
8.1.0 |
The ldap parameter expects an LDAP\Connection
instance now; previously, a valid ldap link recurso was expected.
|
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";
}
?>
Nota:
Esta función solo está disponible cuando se utiliza OpenLDAP 2.x.x o Netscape Directory SDK x.x.