我正在尝试使用Apache2、php5.3和php5LDAP包连接到一个LDAPS服务器。
当我使用php-cli设置代码时,它可以正常工作。
当我在apache2下执行相同的代码时,绑定总是失败。
我已经将tls_reqcert设置为never,因此cli版本可以工作。
我做错什么了?
代码:

<?php

   // using anonymous ldap bind
   // connect to ldap server
   $ldapconn = ldap_connect("ldaps://XXX.XXX.com")
       or die("Could not connect to LDAP server.");

   if ($ldapconn)
   {
       // binding anonymously
       $ldapbind = ldap_bind($ldapconn) or die("Couldn't bind\n");

       if ($ldapbind) {
           echo "LDAP anonymous bind successful...";
       } else {
           echo "LDAP anonymous bind failed...";
       }
   }

   $res = ldap_search($ldapconn, 'ou=XXX,o=XXX', '(sn=XXX*)');
   $info = ldap_get_entries($ldapconn, $res);

   echo "<pre>" . var_dump($info) . "</pre>";

   ldap_unbind($ldapconn);

?>

最佳答案

检查php.ini,并确保ext正在使用phpinfo()加载。differint sapi可能会尝试从不同的位置加载php.ini,因此还要检查phpinfo()中php.ini的位置,确保它加载的是您期望的位置。

关于php - Apache2下的PHP5-ldap和LDAPS(不工作)与CLI(工作),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7600121/

10-12 16:10