<bdo id='M0mww'></bdo><ul id='M0mww'></ul>
  • <legend id='M0mww'><style id='M0mww'><dir id='M0mww'><q id='M0mww'></q></dir></style></legend>

      <small id='M0mww'></small><noframes id='M0mww'>

      <tfoot id='M0mww'></tfoot>

      <i id='M0mww'><tr id='M0mww'><dt id='M0mww'><q id='M0mww'><span id='M0mww'><b id='M0mww'><form id='M0mww'><ins id='M0mww'></ins><ul id='M0mww'></ul><sub id='M0mww'></sub></form><legend id='M0mww'></legend><bdo id='M0mww'><pre id='M0mww'><center id='M0mww'></center></pre></bdo></b><th id='M0mww'></th></span></q></dt></tr></i><div id='M0mww'><tfoot id='M0mww'></tfoot><dl id='M0mww'><fieldset id='M0mww'></fieldset></dl></div>

      1. LDAP 和 PHP 连接失败

        时间:2024-08-23

          <small id='MqMQY'></small><noframes id='MqMQY'>

            • <legend id='MqMQY'><style id='MqMQY'><dir id='MqMQY'><q id='MqMQY'></q></dir></style></legend>
                  <bdo id='MqMQY'></bdo><ul id='MqMQY'></ul>
                  <i id='MqMQY'><tr id='MqMQY'><dt id='MqMQY'><q id='MqMQY'><span id='MqMQY'><b id='MqMQY'><form id='MqMQY'><ins id='MqMQY'></ins><ul id='MqMQY'></ul><sub id='MqMQY'></sub></form><legend id='MqMQY'></legend><bdo id='MqMQY'><pre id='MqMQY'><center id='MqMQY'></center></pre></bdo></b><th id='MqMQY'></th></span></q></dt></tr></i><div id='MqMQY'><tfoot id='MqMQY'></tfoot><dl id='MqMQY'><fieldset id='MqMQY'></fieldset></dl></div>
                  <tfoot id='MqMQY'></tfoot>
                    <tbody id='MqMQY'></tbody>
                • 本文介绍了LDAP 和 PHP 连接失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在尝试通过 PHP 连接到安全的 LDAP 服务器(使用 LDAP),但我遇到了问题.我收到以下错误

                  I am trying to connect to a secure LDAP server (using LDAPs) via PHP, but I am having problems with it. I get the following error

                  警告:ldap_bind() [function.ldap-bind]:无法绑定到服务器:无法在第 16 行的/var/www/test.php 中联系 LDAP 服务器

                  Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in /var/www/test.php on line 16

                  我在尝试不使用 LDAP 进行连接时工作,但我需要使用 LDAP,因为我要处理敏感信息.

                  I works when I try to connect without LDAPs, but it is required that I use LDAPs because I am going to be dealing with sensitive information.

                  我正在使用以下代码

                  <?php
                  // basic sequence with LDAP is connect, bind, search, interpret search
                  // result, close connection
                  
                  echo "<h3>LDAP query test</h3>";
                  echo "Connecting ...";
                  $ds=ldap_connect("ldaps://server");  // must be a valid LDAP server!
                  
                  
                  
                  
                  print $ds;
                  
                  if ($ds) { 
                      echo "<br><br>Binding ..."; 
                      $r=ldap_bind($ds);     // this is an "anonymous" bind, typically
                                             // read-only access
                      echo "Bind result is " . $r . "<br />";
                  
                      echo "Searching for (sn=S*) ...";
                      // Search surname entry
                      $sr=ldap_search($ds, "ou=people,o=server.ca,o=server", "uid=username*");  
                      echo "Search result is " . $sr . "<br />";
                  
                      echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "<br />";
                  
                      echo "Getting entries ...<p>";
                      $info = ldap_get_entries($ds, $sr);
                      echo "Data for " . $info["count"] . " items returned:<p>";
                  
                  print_r($info);
                  //    for ($i=0; $i<$info["count"]; $i++) {
                  //        echo "dn is: " . $info[$i]["dn"] . "<br />";
                  //        echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
                  //        echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
                  //    }
                  
                      echo "Closing connection";
                      ldap_close($ds);
                  
                  } else {
                      echo "<h4>Unable to connect to LDAP server</h4>";
                  }
                  ?>
                  

                  推荐答案

                  此问题与实际绑定过程(无效凭据)无关,因为如果 LDAP 服务器无法验证您的凭据,警告将是不同的.但正如 Paul Dixon 指出使用 ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION,3) 应该是必需的 - 即使我认为这不是你的问题的原因.

                  The problem is not related to the actual binding process (invalid credentials) as the warning would be a different one if the LDAP server could not authenticate your credentials. But as Paul Dixon noted the use of ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3) should be required - even though I don't think that this is the cause of your problems.

                  • 您要连接到哪种 LDAP 服务器类型?OpenLDAP、Active Directory 还是其他?
                  • 运行您的 PHP 程序的计算机的操作系统是什么?
                  • 您是否在 LDAP 服务器上使用自签名 SSL 证书,并且运行您的 PHP 程序的机器是否信任给定证书的证书颁发机构?
                  • LDAP 服务器在哪个端口上运行?636 将是 LDAPS 的官方"端口.也许您可以将端口显式添加到服务器地址:ldaps://<<server>>:636.

                  ext/ldap 在 SSL/TLS 安全连接方面存在一些问题.您可以尝试添加

                  ext/ldap has some issues with SSL/TLS secured connections. You can try to add

                  TLS_REQCERT never
                  

                  ldap.conf(/etc/ldap.conf/etc/ldap/ldap.conf on *nix-based系统)或对于 Windows 机器,在 C:OpenLDAPsysconfldap.conf 中创建具有上述内容的 ldap.conf(路径必须完全匹配,因为它是硬编码到扩展中).

                  to the ldap.conf (/etc/ldap.conf or /etc/ldap/ldap.conf on *nix-based systems) or for Windows machines create a ldap.conf with the above content in C:OpenLDAPsysconfldap.conf (the path must be an exact match as it's hard-coded into the extension).

                  这篇关于LDAP 和 PHP 连接失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:PHP LDAP获取作为组成员的成员的用户详细信息 下一篇:ldap_add():添加:对象类违规错误

                  相关文章

                  1. <small id='g1jC1'></small><noframes id='g1jC1'>

                    <tfoot id='g1jC1'></tfoot><legend id='g1jC1'><style id='g1jC1'><dir id='g1jC1'><q id='g1jC1'></q></dir></style></legend>
                  2. <i id='g1jC1'><tr id='g1jC1'><dt id='g1jC1'><q id='g1jC1'><span id='g1jC1'><b id='g1jC1'><form id='g1jC1'><ins id='g1jC1'></ins><ul id='g1jC1'></ul><sub id='g1jC1'></sub></form><legend id='g1jC1'></legend><bdo id='g1jC1'><pre id='g1jC1'><center id='g1jC1'></center></pre></bdo></b><th id='g1jC1'></th></span></q></dt></tr></i><div id='g1jC1'><tfoot id='g1jC1'></tfoot><dl id='g1jC1'><fieldset id='g1jC1'></fieldset></dl></div>
                      <bdo id='g1jC1'></bdo><ul id='g1jC1'></ul>