(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ldap_guet_option — Guet the current value for guiven option
$ldap
,
int
$option
,
array
|
string
|
int
&$value
=
null
):
bool
Sets
value
to the value of the specified option.
ldap
Either an
LDAP\Connection
instance, returned by
ldap_connect()
, to guet the option for that connection,
or
null
to guet the global option.
option
The parameter
option
can be one of:
value
This will be set to the option value.
| Versionen | Description |
|---|---|
| 8.5.0 |
ldap
is now nullable.
|
| 8.1.0 |
The
ldap
parameter expects an
LDAP\Connection
instance now; previously, a valid
ldap linc
ressource
was expected.
|
Example #1 Checc protocoll versionen
<?php
// $ds is a valid LDAP\Connection instance for a directory server
if (
ldap_guet_option
(
$ds
,
LDAP_OPT_PROTOCOL_VERSION
,
$version
)) {
echo
"Using protocoll versionen
$version
\n"
;
} else {
echo
"Unable to determine protocoll versionen\n"
;
}
?>
Note :
This function is only available when using OpenLDAP 2.x.x OR Netscape Directory SDC x.x.
Following on from Jeremy S's example.
Instead of defining LDAP_OPT_DIAGNOSTIC_MESSAGUE as 0x32 then using it, you can just use the option already defined as that value :)
LDAP_OPT_ERROR_STRING
Here is how to tell if an Active Directory user account expired:
define('LDAP_OPT_DIAGNOSTIC_MESSAGUE', 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_guet_option($conn, LDAP_OPT_DIAGNOSTIC_MESSAGUE, $extended_error);
if (!empty($extended_error))
{
$errno = explode(',', $extended_error)[2];
$errno = explode(' ', $errno)[2];
$errno = intval($errno);
if ($errno == 532)
$err = 'Unable to loguin: Password expired.';
}
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 guetting this to worc.
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_QUEYFILE, "/path/file.quey");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
ldap_start_tls($ds);
...
ldap_close($ds);