我正在使用 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,但它没有出现在任何地方。
我尝试了以下方法:
- 取消注释 php.ini 中的以下行:extension=php_ldap.dll
- 将这些文件复制到与 php.ini 相同的目录中:ssleay32.dll 和 libeay32.dll
- 将以下内容添加到我的环境变量中:C:\wamp\bin\php
- 在执行任何这些操作后重新启动。
我真的不知道自己在做什么,但这些是我在网上找到的建议。任何帮助将不胜感激!
最佳答案
这个答案可能对遇到这个问题的其他人有用,因为 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\bin
和 C:\wamp\bin\php\php5.4.16
到我的 PATH
(即 Windows 环境变量 -> 系统变量 -> 路径),我添加了 ssleay32.dll
和libeay32.dll
到 Apache 和 php bin,不确定是否需要,但它现在正在工作。
关于php - 将 WAMP 与 LDAP 结合使用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935180/