ldap_exop_refresh
(PHP 7 >= 7.3.0, PHP 8)
ldap_exop_refresh — Refresh 拡張操作のヘルパ
説明
Refresh 拡張オペレーションを実行し、結果を返します。
パラメータ
ldap
-
ldap_connect() が返す LDAP\Connection クラスのインスタンス。
dn
-
リフレッシュするエンティティの識別名。
ttl
-
自動的に削除される前にエントリがディレクトリに存在する時間を秒単位 (1 から 31557600 の間)で指定します。
戻り値
RFC から:
responseTtl フィールドは、そのエントリのttlとしてサーバーが選んだ時間です。
この値は、クライアントがリクエストした値よりも小さい値であってはいけませんが、
大きいのは構いません。
しかし、サーバーが比較的正確にディレクトリを維持できるようにするために、
かつクライアントが動的な拡張を悪用できないようにするために、
サーバーはクライアントがリクエストした ttl の値を 86400秒 (1日)
まで短くすることを許可されています。
エラー時には false
が返されます。
変更履歴
バージョン | 説明 |
---|---|
8.1.0 |
引数 ldap は、LDAP\Connection
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、有効な ldap link リソース を期待していました。
|
+add a note
User Contributed Notes 1 note
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);
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google