Предупреждение: ldap_start_tls () : невозможно запустить TLS: сервер недоступен

Предупреждение: ldap_start_tls () [function.ldap-start-tls]: невозможно запустить TLS: сервер недоступен в /var/www/html/testldap/index.php в строке 13 Ldap_start_tls не удалось

Моя конфигурация выглядит следующим образом

Centos 5.7 PHP версия 5.3.3

php53-ldap настроен. Независимо от того, что я пытаюсь сделать, проблема с starttls дает мне головную боль. Любая помощь будет высоко оценен.

    Ну, какое веселое путешествие я провел с этим.

    Проблема, с которой вы сталкиваетесь, заключается в том, что ваш компьютер не принимает сертификат сервера как действительный. Простая работа с этим заключается в отключении проверки, которая выполняется в файле ldap.conf или с переменной окружения.

    Вы можете отредактировать файл на /etc/openldap/ldap.conf ( c:\openldap\sysconf\ldap.conf в Windows) или создать его, если он еще не существует, и поместить в него эту строку:

     TLS_REQCERT never 

    … или вы можете создать переменную среды с именем LDAPTLS_REQCERT со значением never .

    Как только я сделал одно из этих действий, для меня работал следующий скрипт:

     <?php // Settings $host = 'server.domain.local'; $port = 389; $user = 'administrator'; $pass = 'password'; // Connect, set options and bind $ds = ldap_connect($host, $port); if (!ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3)) exit('Could not disable referrals'); if (!ldap_set_option($ds, LDAP_OPT_REFERRALS, 0)) exit('Could not disable referrals'); if (!ldap_start_tls($ds)) exit('Could not start TLS'); if (!ldap_bind($ds, $user, $pass)) exit('Bind operation failed'); // A quick list operation to make sure it worked if (!$result = ldap_list($ds, 'dc=domain,dc=local', 'objectClass=*')) exit('List operation failed'); print_r(ldap_get_entries($ds, $result)); 

    Раздражающе, ни putenv('LDAPTLS_REQCERT=never'); ни $_ENV['LDAPTLS_REQCERT'] = 'never'; будет работать – вам нужно либо создать файл конфигурации, либо статически установить переменную.

    Если вы хотите проверить сертификаты, вам нужно будет продолжить чтение о том, как правильно настроить OpenLDAP.

    Источники для этого:

    Установили ли вы PHP -with-ldap [= DIR]?

    Также:

    1. Не используйте ldap_start_tls (), если вы уже подключились к LDAP-серверу через SSL, например, «ldaps: // hostame».
    2. вызов ldap_connect () с помощью ldap: // вместо ldaps: // для ldap_start_tls () для выполнения

    Источник .