php - 将 WAMP 与 LDAP 结合使用时出错

标签 php ldap

我正在使用 WAMP 并尝试运行如下内容:

<?php

$ldap = ldap_connect("ldap.example.com");

$user = "exampleUser";
$pass = "examplePass";

if($bind = ldap_bind($ldap, $user, $pass)) {
  // logged in
} else {
  // error message
}

?>

虽然在执行此操作之前,我尝试运行 phpinfo() 以查看是否安装了 ldap,但它没有出现在任何地方。

我尝试了以下方法:

  1. 取消注释 php.ini 中的以下行:extension=php_ldap.dll
  2. 将这些文件复制到与 php.ini 相同的目录中:ssleay32.dll 和 libeay32.dll
  3. 将以下内容添加到我的环境变量中:C:\wamp\bin\php
  4. 在执行任何这些操作后重新启动。

我真的不知道自己在做什么,但这些是我在网上找到的建议。任何帮助将不胜感激!

最佳答案

这个答案可能对遇到这个问题的其他人有用,因为 OP 发布这个问题已经一年多了。

我在跑

  • WAMP 版本:2.4
  • Apache 版本:2.4.4
  • PHP 版本:5.4.16

我尝试了大多数建议的解决方案,Google 搜索可以为您提供这些解决方案,但似乎没有任何效果。一个论坛推荐看PHP pages

上面链接中名为 Frank 的用户建议将 libsasl.dll 复制到 [apache folder]\bin,尽管这仅被推荐用于早期版本php,这个文件在php文件夹中。

copy "C:\wamp\bin\php\php5.4.16\libsasl.dll" "C:\wamp\bin\apache\apache2.4.4\bin\libsasl.dll"

这对我有用,当我使用 phpinfo() 时,LDAP 现在出现了,尽管除了运行 ldap_connect() 之外我还没有正确测试它> 功能,但我假设这意味着它正在工作,我应该能够在我的应用程序中使用它。

除了将 libsasl.dll 添加到 Apache bin 之外,我还添加了 C:\wamp\bin\apache\Apache2.4.4\binC:\wamp\bin\php\php5.4.16 到我的 PATH(即 Windows 环境变量 -> 系统变量 -> 路径),我添加了 ssleay32.dlllibeay32.dll 到 Apache 和 php bin,不确定是否需要,但它现在正在工作。

关于php - 将 WAMP 与 LDAP 结合使用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935180/

相关文章:

php - 与用户一起创建单元测试

php - 未在索引页中显示消息

java - 使用 String.equals 比较密码并根据 LDAP 服务器对用户进行身份验证,这有意义吗?

C# 将 LDAP 用户添加到组

php - 从数据库中获取相同列名的图像

php - 如何在grocerycrud中进行一对多的CRUD?

php - 使用特定类别或门票参加运行比赛

linux - getpwuid() 为 LDAP 用户返回 NULL

c++ - Windows 服务上基于 SSL 的 LDAP

java - 使用搜索检索 LDAP 信息时出错