我正在尝试使用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/