WAMP上的LDAP身份验证

Cor*_*Dee 6 php windows apache wamp ldap

我正在尝试在我的WAMP服务器上编写一些LDAP身份验证代码.

我正在使用这个:

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

$ldapconfig['host'] = 'my.server.province.country';
$ldapconfig['port'] = 389;
$ldapconfig['basedn'] = 'DC=x,DC=y,DC=z,DC=x1';
$ldapconfig['authrealm'] = 'My Realm';

ldap_connect($ldapconfig['host'], $ldapconfig['port']) or die ('Could not connect');

echo 'connected';
?>
Run Code Online (Sandbox Code Playgroud)

我收到这个错误:

致命错误:在第10行的C:\ Program Files\Apache Software Foundation\Apache2.2\htdocs\oplweb\index.php中调用未定义的函数ldap_connect()

从一些基本的谷歌搜索,看起来我需要打开mod_ldap.看似简单.我做了以下事情:

  • 去了C:\ Program Files\Apache Software Foundation\Apache2.2\modules并确保mod_ldap.so存在.
  • 我已经进入C:\ Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf并确保没有注释掉这一行:LoadModule ldap_module modules/mod_ldap.so
  • 我已进入C:\ Program Files\PHP\php.ini并确保此行未被注释掉:extension = php_ldap.dll
  • 重启apache

问题仍然存在.php中的ldap_connect()函数是否还有其他依赖项?我错过了一步吗?

干杯

dob*_*ien 2

检查您的 phpinfo 以确保 LDAP 已启用。您应该看到 LDAP 部分,并且

支持| 已启用

您可能将 php 设置为自动启用扩展目录中的任何内容,或者您​​可能必须通过取消注释如下行来手动启用它:

扩展名=php_ldap.dll

在你的 php.ini 文件中

启用后记得重新启动 apache。