PHP 8.4.0 RC4 available for testing

ldap_exop_refresh

(PHP 7 >= 7.3.0, PHP 8)

ldap_exop_refreshRefresh extended operation helper

Açıklama

ldap_exop_refresh(LDAP\Connection $ldap, string $dn, int $ttl): int|false

Performs a Refresh extended operation and returns the data.

Bağımsız Değişkenler

ldap

ldap_list() veya ldap_connect() işlevinden dönen LDAP\Connection nesnesi.

dn

dn of the entry to refresh.

ttl

Time in seconds (between 1 and 31557600) that the client requests that the entry exists in the directory before being automatically removed.

Dönen Değerler

From RFC: The responseTtl field is the time in seconds which the server chooses to have as the time-to-live field for that entry. It must not be any smaller than that which the client requested, and it may be larger. However, to allow servers to maintain a relatively accurate directory, and to prevent clients from abusing the dynamic extensions, servers are permitted to shorten a client-requested time-to-live value, down to a minimum of 86400 seconds (one day). false will be returned on error.

Sürüm Bilgisi

Sürüm: Açıklama
8.1.0 ldap bağımsız değişkeni artık LDAP\Connection nesnesi kabul ediyor, evvelce resource türünde geçerli bir ldap link değeri kabul ederdi.

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
-1
Roland Gruber
6 years ago
The following workaround can be used to run the refresh command in PHP 7.2.

$dn= 'cn=user,dc=test,dc=org';
$ttl = 3600;
$data = '';
$data .= '80' . sprintf("%'.02x", strlen($dn)) . bin2hex($dn);
$data .= '81' . sprintf("%'.02x", 4) . sprintf("%'.08x", $ttl);
$data = hex2bin('30' . sprintf("%'.02x", strlen($data)/2) . $data);
$success = ldap_exop($ldapHandle, LDAP_EXOP_REFRESH, $data);
To Top