ldap_set_option
ldap_set_option — 指定したオプションの値を設定する
説明
bool ldap_set_option ( int link_identifier, int option, mixed newval )指定したオプションの値を newval に設定します。 成功した場合に TRUE を、失敗した場合に FALSE を返します。
パラメータ option は次のどれかになります。 LDAP_OPT_DEREF, LDAP_OPT_SIZELIMIT, LDAP_OPT_TIMELIMIT, LDAP_OPT_PROTOCOL_VERSION, LDAP_OPT_ERROR_NUMBER, LDAP_OPT_REFERRALS, LDAP_OPT_RESTART, LDAP_OPT_HOST_NAME, LDAP_OPT_ERROR_STRING, LDAP_OPT_MATCHED_DN, LDAP_OPT_SERVER_CONTROLS, LDAP_OPT_CLIENT_CONTROLS 以下に簡単に説明しますが、詳細については、 » draft-ietf-ldapext-ldap-c-api-xx.txtを参照ください。
オプション LDAP_OPT_DEREF、LDAP_OPT_SIZELIMIT、LDAP_OPT_TIMELIMIT、 LDAP_OPT_PROTOCOL_VERSION、LDAP_OPT_ERROR_NUMBER は整数値であり、 LDAP_OPT_REFERRALS、LDAP_OPT_RESTART は論理値、オプション LDAP_OPT_HOST_NAME、LDAP_OPT_ERROR_STRING、LDAP_OPT_MATCHED_DN の 値は文字列です。最初の例でこれらの使用方法を説明します。オプション LDAP_OPT_SERVER_CONTROLS、LDAP_OPT_CLIENT_CONTROLS はコントロールの リストを必要とします。これは、値がコントロールの配列である必要が あることを意味します。コントロールは、そのコントロールの ID である oid、オプションの value、オプションのフラグ criticality からなります。PHP において、 コントロールはキーが oid で値が文字列、二つの オプションの要素からなる配列で指定されます。オプションの要素は、 キーが value で値が文字列、キーが iscritical で値が論理値です。 iscritical が指定されない場合のデフォルト値は FALSE です。以下の 2 番目の例も参照ください。
この関数は、OpenLDAP 2.x.x または Netscape Directory SDK x.x を使 用している場合のみ利用可能で、PHP 4.0.4で追加されました。
例 1028. プロトコルバージョンを設定する
<?php
// $ds はディレクトリサーバーへの有効なリンクIDです
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "LDAPv3 を使用します";
} else {
echo "プロトコルバージョンを 3 に設定できませんでした";
}
?>
例 1029. サーバコントロールを設定する
<?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 "サーバコントロールの設定に失敗しました。";
?>
ldap_get_option() も参照ください。
- ldap_set_optionのページへのリンク