Windows上的LDAPauthentication

我有一个64位Windows平台和Postgresql 8.4安装(作为Apache,EnterpriseDB-ApachePHP安装在Pstgres上)..我需要使用Active Directory(或LDAP?)凭据进行身份validation,但即使艰难我启用LDAP并重新启动Apache 错误日志我看到PHP的致命错误:调用未定义的函数ldap_connect()在path/到/ my / phpfile ..我使用的PHP脚本是下面,

<?php $user = $_POST["myUserName@mydomain.com"]; $pass = $_POST["muPassword"]; //in our system, we already use this account for LDAP authentication on the server above $ldap_serv = 'ldap://192.168.69.10'; $ldap_port = '389'; $lc = ldap_connect($ldap_serv, $ldap_port); ldap_set_option($lc, LDAP_OPT_REFERRALS, 0); ldap_set_option($lc, LDAP_OPT_PROTOCOL_VERSION, 3); $ldapbind = ldap_bind($lc,$user,$pass); if ($ldapbind == false) { echo 'username or password is wrong'; } else { echo "You Logged in"; echo "<br><br><br>Wellcome<br><br><br>"; } ?> 

PHP LDAP扩展需要使用LDAP功能。 只需检查它的未注释在您的php.ini( extension=php_ldap.dll

PHP扩展显然没有加载。 一些事情要尝试:

  • 从命令行运行“php -m”,并确保ldap位于模块列表中,并且没有与ldap相关的错误。
  • 确保apache php模块使用你修改的php.ini(并在页面上查找php.ini)