ldap_set_option

(PHP 4 >= 4.0.4, PHP 5)

ldap_set_option -- Set the value of the given option

Description

bool ldap_set_option ( resource link_identifier, int option, mixed newval )

Sets the value of the specified option to be newval.

Parameters

link_identifier

An LDAP link identifier, returned by ldap_connect().

option

The parameter option can be one of:

OptionType 
LDAP_OPT_DEREFinteger 
LDAP_OPT_SIZELIMITinteger 
LDAP_OPT_TIMELIMITinteger 
LDAP_OPT_PROTOCOL_VERSIONinteger 
LDAP_OPT_ERROR_NUMBERinteger 
LDAP_OPT_REFERRALSbool 
LDAP_OPT_RESTARTbool 
LDAP_OPT_HOST_NAMEstring 
LDAP_OPT_ERROR_STRINGstring 
LDAP_OPT_MATCHED_DNstring 
LDAP_OPT_SERVER_CONTROLSarray 
LDAP_OPT_CLIENT_CONTROLSarray 

LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS require a list of controls, this means that the value must be an array of controls. A control consists of an oid identifying the control, an optional value, and an optional flag for criticality. In PHP a control is given by an array containing an element with the key oid and string value, and two optional elements. The optional elements are key value with string value and key iscritical with boolean value. iscritical defaults to FALSE if not supplied. See draft-ietf-ldapext-ldap-c-api-xx.txt for details. See also the second example below.

newval

The new value for the specified option.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example 1. Set protocol version

<?php
// $ds is a valid link identifier for a directory server
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
    echo
"Using LDAPv3";
} else {
    echo
"Failed to set protocol version to 3";
}
?>

Example 2. Set server controls

<?php
// $ds is a valid link identifier for a directory server
// control with no value
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical defaults to FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// try to set both controls
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
    echo
"Failed to set server controls";
}
?>

Notes

Note: This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.

See Also

ldap_get_option()