Соединение LDAP работает на PHP 5, но не на PHP 7 - PullRequest
1 голос
/ 15 апреля 2019

Я хочу привязаться к серверу LDAP, но когда я пытаюсь сделать это в PHP 7, это не работает. Такой же код работает в PHP 5.

У меня есть код:

$ldapconn = ldap_connect("ldaps://192.168.22.222:636")
or die("Could not connect to LDAP server.");

if ($ldapconn) {
    ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);

    $ldapbind = ldap_bind($ldapconn, 'username', 'password');
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }
}

Когда я выполняю этот код в PHP 5, я получаю:

LDAP bind successful...

И в журналах сервера LDAP я вижу это:

conn=434976 fd=26 ACCEPT from IP=8.8.8.8:43536 (IP=0.0.0.0:636)
conn=434976 fd=26 TLS established tls_ssf=128 ssf=128
conn=434976 op=0 BIND dn="" method=128
conn=434976 op=0 RESULT tag=97 err=0 text=
conn=434976 op=1 UNBIND
conn=434976 fd=26 closed

В PHP 7 я получаю ответ:

Warning: ldap_bind(): Unable to bind to server: Can't contact LDAP server

и в журналах LDAP:

conn=434975 fd=26 ACCEPT from IP=8.8.8.8:50919 (IP=0.0.0.0:636)
conn=434975 fd=26 TLS established tls_ssf=256 ssf=256
conn=434975 fd=26 closed (connection lost)

Я нашел несколько решений с отключением проверки сертификата на сервере LDAP, но я не могу ничего изменить в конфигурации этого сервера.

Можете ли вы помочь мне, как связать в PHP 7? Я проверял это в PHP 7.2 и 7.3 с конфигурацией по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...