我正在使用XAMPP 8.2.4创建一个ldap_bind。我在我的http站点(不是https)上使用了PHP手册中的相同命令。我已将CA证书安装在Web服务器的个人计算机证书存储中。服务器网页是一个http站点。
<?php
$adServer = "ldaps://DC01.DOMAIN.NET";
$ldap = ldap_connect($adServer);
$ldaprdn = 'DOMAIN' . "\\" . $user;
ldap_set_option($ldap,LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($ldap,LDAP_OPT_REFERRALS,0);
ldap_get_option($ldap, LDAP_OPT_DIAGNOSTIC_MESSAGE, $err);
$bind = ldap_bind($ldap,$ldaprdn,$password);
echo "ldap_error: $err";
if ($bind) {
echo "Bind Good";
}
else {
echo "Bind Bad";
}
?>
我得到以下错误:
Can't connect LDAP server
ldap_error: error:16000069:STORE routines::unregister scheme
我已经测试了ldap_connect,到达服务器没有问题。那么,是什么阻止了绑定的工作呢?从PHP 8.2.4开始,网站是否需要SSL?我知道在8.1.0中ldap_connect已经完成了,但这是一个透明的更改。
更新:为网站添加了SSL安全性,因此它现在在https://加载,但仍然得到相同的ldap_error
1条答案
按热度按时间nvbavucw1#
终于找到解决办法了感谢@Wes Wakeman的这篇文章:
XAMPP 7.0.4 PHP 7 LDAPS Connection can't bind LDAP works fine
即使XAMPP与C驱动器不在同一个驱动器上运行,ldap.conf也需要与文件一起位于C:\OpenLDAP\sysconf\上。我会问ApacheFriends如何移动它。