Я хочу привязаться к серверу 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 с конфигурацией по умолчанию.