(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
ldap_set_option — 指定したオプションの値を設定する
指定したオプションの値を value
に設定します。
ldap
ldap_connect() が返す LDAP\Connection クラスのインスタンス。
option
パラメータ option
は以下のいずれかとなります。
オプション | 型 | ~以降で使用可能 |
---|---|---|
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
および
LDAP_OPT_CLIENT_CONTROLS
はコントロールのリストが必要です。
つまり、値がコントロールの配列である必要があるということです。
コントロールは、そのコントロールの ID
である oid、オプションの
value、オプションのフラグ
criticality からなります。PHP において、
コントロールはキーが oid で値が文字列、
二つのオプションの要素からなる配列で指定されます。オプションの要素は、
キーが value で値が文字列、そしてキーが
iscritical で値が論理値となります。
iscritical を省略した場合のデフォルトは
false
です。詳細は » draft-ietf-ldapext-ldap-c-api-xx.txt
を参照ください。また以下の二番目の例も参照ください。
value
指定したオプション option
の新しい値。
成功した場合に true
を、失敗した場合に false
を返します。
バージョン | 説明 |
---|---|
8.1.0 |
引数 ldap は、LDAP\Connection
クラスのインスタンスを期待するようになりました。
これより前のバージョンでは、リソース を期待していました。
|
例1 プロトコルバージョンの設定
<?php
// $ds はディレクトリサーバーへの有効なリンクIDです
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "LDAPv3 を使用します";
} else {
echo "プロトコルバージョンを 3 に設定できませんでした";
}
?>
例2 サーバーコントロールの設定
<?php
// $ds は値を持たないディレクトリサーバーコントロールへの有効なリンクID
// です。
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical のデフォルトは、FALSE です。
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// 両方のコントロールを試します
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
echo "サーバーコントロールの設定に失敗しました。";
}
?>
注意:
この関数は、OpenLDAP 2.x.x または Netscape Directory SDK x.x を使用している場合のみ利用可能です。