Intereting Posts
Вычисление n-го корня целого числа с использованием PHP / GMP Разница между Javascript и PHP Определение того, установлена ​​ли переменная во включенном файле в PHP Заменить пространства с помощью поддеревьев в загруженном файле Лучший способ обнаружить мобильных пользователей в Magento ZF2 – Генерирование URL из маршрута PHP – HTML форма двух возможных действий? Установка Yaml в окнах xampp Почему symfony не может найти мой автозагруженный класс? Ошибка PHP, MySQL: количество столбцов не соответствует количеству значений в строке 1 возможные символы base64 url ​​safe function Решение о дизайне: соответствие кириллических символов в JSON с PHP PHP / MySQL – фильтр массивов для ботов PHP: Правильное регулярное выражение для того, чтобы каждая буква слева от первого нижнего регистра двоеточия mysqli_real_escape_string () ожидает, что параметр 1 будет mysqli, boolean заданный набор

PHP Предупреждение: ldap_bind (): невозможно связать с сервером: не удается связаться с сервером LDAP

У меня проблема с моим PHP-скриптом:

PHP Предупреждение: ldap_bind (): Не удается привязываться к серверу: не удается связаться с сервером LDAP ….

ldap_connect() говорит «Успех», но ldap_bind() не удается, как исправить эту проблему?

Соединение открывает сеанс. Bind – это то, что на самом деле аутентифицирует вас. Таким образом, вы подключились, но не вошли в систему с действительными учетными данными.

Если эта ошибка на RHEL7 (CentOS7) из-за ограничений, запрещающих SELinux, может использоваться HTTPD.

Порты LDAP 389 и 686 не включены в список разрешений по умолчанию, вы можете разблокировать:

 setsebool -P httpd_can_network_connect 1 

Вы можете проверить ограничение, попробовав сокет на сервере LDAP:

 fsockopen('LDAP-Server-IP', 389); 

Он предоставит «Permission Denied», показывая, что он заблокирован, а не учетные данные.

Также проверьте файл журнала аудита SELinux для блокировки других вещей.

У меня нет опыта, который соответствует тому, что я читаю здесь. Я пытался

 $ds=ldap_connect("goblydeegook",336); if($ds) echo "successful"; 

и я получаю «успешный» ответ

Иногда проблема будет зависеть от вашей среды (Linux, Windows …) Попробуйте связать с одним из этих параметров:

 $connect = ldap_connect("ldap://".$ldap_server); $auth_user = 'CN=XXX,OU=XXX,DC=XXX,DC=com'; $bind = ldap_bind($connect, $auth_user , $auth_pass); 

или

 $bind = ldap_bind($connect, 'YourDomaine\\'.$auth_user , $auth_pass); 

функция ldap_bind () запрашивает три параметра:
Идентификатор ресурса 1.a
2.a rdn
3. пароль, связанный с rdn
rdn и пароль являются необязательными
если вы связываете, используя только идентификатор ресурса: –

/ * $ ldap = ladap_connect ( имя хоста , * порт *);
ldap_connect () возвращает идентификатор ресурса * /
ldap_bind () возвращает логическое значение (true или false)
ldap_bind ($ ladp); // annonymous bind
$ lb = ldap_bind ($ ldap, "uid = xxx, ou = something, o = hostname.com", "password"); // используется для аутентификации

это должно работать, если не тогда, когда вы используете недопустимые учетные данные.