PHP.mk документација

ldap_set_option

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.ldap-set-option.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.ldap-set-option.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
ldap_set_option

Референца за `function.ldap-set-option.php` со подобрена типографија и навигација.

function.ldap-set-option.php

ldap_set_option

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

ldap_set_optionSet the value of the given option

= NULL

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

Поставете ја вредноста на дадената опција value.

Параметри

ldap

Или LDAP\Connection инстанца, вратена од ldap_connect()Ги поставува вредноста на наведената опција на null , за да ја поставите опцијата за таа врска, или

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 Достапно од
LDAP_OPT_X_KEEPALIVE_PROBES int Достапно од
LDAP_OPT_X_KEEPALIVE_INTERVAL int Достапно од
LDAP_OPT_X_TLS_CACERTDIR string Достапно од
LDAP_OPT_X_TLS_CACERTFILE string Достапно од
LDAP_OPT_X_TLS_CERTFILE string Достапно од
LDAP_OPT_X_TLS_CIPHER_SUITE string Достапно од
LDAP_OPT_X_TLS_CRLCHECK int Достапно од
LDAP_OPT_X_TLS_CRLFILE string Достапно од
LDAP_OPT_X_TLS_DHFILE string Достапно од
LDAP_OPT_X_TLS_KEYFILE string Достапно од
LDAP_OPT_X_TLS_PROTOCOL_MIN int Достапно од
LDAP_OPT_X_TLS_RANDOM_FILE string Достапно од
LDAP_OPT_X_TLS_REQUIRE_CERT int PHP 7.1.0

LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS PHP 7.0.5 oid бара список на контроли, ова значи дека вредноста мора да биде низа од контроли. Контролата се состои од valueидентификација на контролата, опционален criticality, и опционално знаменце за oid . Во PHP, контролата се дава преку низа што содржи елемент со клуч value и вредност од тип стринг, и два опционални елементи. Опционалните елементи се клуч iscritical со вредност од тип стринг и клуч iscritical Ако невалиден false со булева вредност. ако не е дадено. Видете » draft-ietf-ldapext-ldap-c-api-xx.txt

Забелешка:

за детали. Видете исто така вториот пример подолу. ldap_connect() за ldaps конекција или за конекцијата пред ldap_start_tls().

value

Новата вредност за наведената option.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Дневник на промени

Верзија = NULL
8.1.0 На ldap параметарот очекува LDAP\Connection инстанца сега; претходно, валидна ldap link resource се очекуваше.

Примери

Пример #1 Постави верзија на протоколот

<?php
// $ds is a valid LDAP\Connection instance for a directory server
if (ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo
"Using LDAPv3";
} else {
echo
"Failed to set protocol version to 3";
}
?>

Пример #2 Постави контролни елементи на серверот

<?php
// $ds is a valid LDAP\Connection instance for a directory server
// control with no value
$ctrl1 = array("oid" => "1.2.752.58.10.1", "iscritical" => true);
// iscritical defaults to FALSE
$ctrl2 = array("oid" => "1.2.752.58.1.10", "value" => "magic");
// try to set both controls
if (!ldap_set_option($ds, LDAP_OPT_SERVER_CONTROLS, array($ctrl1, $ctrl2))) {
echo
"Failed to set server controls";
}
?>

Белешки

Забелешка:

Оваа функција е достапна само кога се користи OpenLDAP 2.x.x ИЛИ Netscape Directory SDK x.x.

Види Исто така

  • ldap_get_option() - Земи ја тековната вредност за дадена опција

Белешки од корисници 8 белешки

soulbros на yahoo точка com
figroc at gmail dot com
As [email protected] above mentioned ,one  has to set option LDAP_OPT_PROTOCOL_VERSION=3
ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);
to use the ldap_rename function.

However, the ldap_set_option() line has to be written immediately after ldap_connect() and before ldap_bind() statements.

Christos Soulios
php на richardneill точка org
3 години пред
If you want to disable the TLS cert check (e.g. because you are doing an SSH port-forward, and ldaps is pointing to localhost), then you must invoke:

ldap_set_option(NULL, LDAP_OPT_X_TLS_REQUIRE_CERT,0)
*before* calling ldap_connect()

If you try: 

$ds = ldap_connect(...)
ldap_set_option($ds, LDAP_OPT_X_TLS_REQUIRE_CERT,0)

then the option won't actually take effect, and the certificate will be checked anyway, and a TLS failure will happen..
hansfn на gmail точка com
19 години пред
Luckily you can turn on debugging before you open a connection:

  ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);

This way you at least can see in the logs if the connection fails...
technosophos
19 години пред
The following flags are valid integer values for the LDAP_OPT_DEREF (as taken from the documentation for ldap_read()):

LDAP_DEREF_NEVER (int 0) - (default) aliases are never dereferenced.

LDAP_DEREF_SEARCHING (int 1) - aliases should be dereferenced during the search but not when locating the base object of the search.

LDAP_DEREF_FINDING (int 2) - aliases should be dereferenced when locating the base object but not during the search.

LDAP_DEREF_ALWAYS (int 3) - aliases should be dereferenced always.

Example:
<?php
ldap_set_option($ds, LDAP_OPT_DEREF, LDAP_DEREF_ALWAYS);
?> 

These are defined in the draft C API (presumably from the original LDAP API). See draft-ietf-ldapext-ldap-c-api-xx.txt included in the OpenLDAP source code distribution.
Maarten на Aerobe
пред 6 години
PHP 7.1 added support for configuring the LDAP CA/Cert environment directly, rather than relying on the environment variables. I noticed that a lot of people are having trouble getting this to work.

The correct way is:
$ds=ldap_connect("ldap.google.com");  
ldap_set_option(NULL, LDAP_OPT_X_TLS_CERTFILE, "/path/file.crt");
ldap_set_option(NULL, LDAP_OPT_X_TLS_KEYFILE, "/path/file.key");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
ldap_start_tls($ds);
...
ldap_close($ds);
badbo_5834 на hotmail точка com
12 години пред
I have the following code, but you do not rename the cn, that may be?

    $TheDN = "cn=Nombre,ou=Addressbook,dc=axia-ldap,dc=net";
    $newRDN = "cn=bill";
    $newParent = "ou=Addressbook,dc=axia-ldap,dc=net";
    ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);
    $result = ldap_rename($ds, $TheDN, $newRDN, $newParent, TRUE);
minusf на gmail точка com
20 години пред
it seems that ldap_set_option returns 1 for bogus ldap_connect -ions also.
ldap_connect always returns a resource (documented in the
comments of ldap_connect) so it is not possible to check if the
ldap server is there or alive or what.  and because ldap_set_option
must be between ldap_connect and ldap_bind, there seems to
be no sense in checking the return value.

it is a bit strange that ldap_bind is the first function which can
really check if a ldap resource is usable because it is the third
function in line to use when working with openldap.

<?php
$connect = ldap_connect("whatever");
$set = ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
echo $set;
?>
john точка hallam на compaq точка com
figroc at gmail dot com
To get this to work I had to set the LDAP version to 3 using ldap_set_option. Here is an example that might help:

$TheDN = "cn=john smith,ou=users,dc=acme,dc=com";
$newRDN = "cn=bill brown";
$newParent = "ou=users,dc=acme,dc=com";
ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);
@$result = ldap_rename($ds, $TheDN, $newRDN, $newParent, TRUE);
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.