(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ldap_set_option — Set the value of the given option
   Sets the value of the specified option to be value.
  
ldap
       Either an LDAP\Connection instance, returned by
       ldap_connect(), to set the option for that connection,
       or null to set the option globally.
      
option
       The parameter option can be one of:
       
| Option | Type | Available since | 
|---|---|---|
| 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_KEYFILE | 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 | 
       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.
      
value
       The new value for the specified option.
      
   Returns true on success or false on failure.
  
| Version | Description | 
|---|---|
| 8.1.0 | The ldapparameter expects an LDAP\Connection
  instance now; previously, a validldap linkresource was expected. | 
Example #1 Set protocol version
<?php
// $ds is a valid LDAP\Connection instance 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 LDAP\Connection instance 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";
}
?>
Note:
This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDK x.x.