ldap_set_option

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ldap_set_option指定したオプションの値を設定する

説明

ldap_set_option(?LDAP\Connection $ldap, int $option, array|string|int|bool $value): bool

指定したオプションの値を 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($dsLDAP_OPT_PROTOCOL_VERSION3)) {
    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($dsLDAP_OPT_SERVER_CONTROLS, array($ctrl1$ctrl2))) {
    echo 
"サーバーコントロールの設定に失敗しました。";
}
?>

注意

注意:

この関数は、OpenLDAP 2.x.x または Netscape Directory SDK x.x を使用している場合のみ利用可能です。

参考

関連キーワード:  int, string, 設定, option, コントロール, 指定, , オプション, バージョン, array