PHP Conference Japan 2024

ldap_exop_refresh

(PHP 7 >= 7.3.0, PHP 8)

ldap_exop_refreshRafraîchit l'aide de l'opération étendue

Description

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

Effectue une opération étendue de rafraîchissement et renvoie les données. Performs a Refresh extended operation and returns the data.

Liste de paramètres

ldap

Une instance LDAP\Connection, retourné par ldap_connect().

dn

dn de l'entrée à rafraîchir.

ttl

Le temps en secondes (entre 1 et 31557600) que le client demande que l'entrée existe dans le répertoire avant d'être automatiquement supprimée.

Valeurs de retour

De la RFC: Le champ responseTtl est le temps en secondes que le serveur choisit d'avoir comme champ de temps de vie pour cette entrée. Il ne doit pas être plus petit que celui que le client a demandé, et il peut être plus grand. Cependant, pour permettre aux serveurs de maintenir un répertoire relativement précis, et pour empêcher les clients d'abuser des extensions dynamiques, les serveurs sont autorisés à raccourcir une valeur de temps de vie demandée par le client, jusqu'à un minimum de 86400 secondes (un jour). false sera retourné en cas d'erreur.

Historique

Version Description
8.1.0 Le paramètre ldap attend désormais une instance de LDAP\Connection ; auparavant, une ressource ldap link était attendue.

Voir aussi

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