在PHP 8.2.4中创建ldap_bind

c3frrgcw  于 2023-06-04  发布在  PHP
关注(0)|答案(1)|浏览(381)

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

nvbavucw

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如何移动它。

相关问题