即使我已经编辑了php.ini也无法启用PHP LDAP,php_ldap.dll在正确的位置?

2022-08-30 17:17:11

我已经使用WAMP安装很长一段时间了,现在启用了LDAP,一切都很顺利。现在,虽然我必须设置另一台计算机,但由于某种原因,我无法启用LDAP。

我检查了 的输出,LDAP 部分不存在。我编辑以取消注释该行:phpinfo()php.ini

extension = php_ldap.dll

我还检查了正在搜索扩展名的文件路径,并且文件位于正确的位置。php_ldap.dll

我很确定我正在编辑正确的文件,因为我检查了 显示的文件路径,并且我还能够成功启用/禁用其他扩展名。php.iniphpinfo()

在每次更改后,我都重新启动了Apache。

在谷歌搜索时,我发现的唯一解决方案是上面的解决方案,再加上一两个提到编辑Windows变量以包含路径?尝试了一下,即使它对我来说没有意义(因为我已经知道正在被解析)。我还检查了我之前在另一台机器上的安装,从我所看到的,我从未向该机器上的PHP目录添加任何PHP目录PATHphp.iniphp.iniPATH

使用完整答案进行编辑

弗兰克在下面的答案引导我找到了解决方案,所以我想我现在应该整合一切。

要在 WAMP 服务器上启用 LDAP 支持,请执行以下操作:

  1. 取消注释extension = php_ldap.dllphp.ini
  2. 重要说明:通过检查 输出,确保正在编辑正确的内容php.iniphpinfo()
  3. 检查文件中的扩展目录位置php.ini
  4. 位于该目录中的检查项php_ldap.dll
  5. (我错过的步骤)查找文件并将其目录添加到 Windows PATHlibeay32.dllssleay32.dll
  6. 重新启动 Apache。如果启用了 LDAP,则在phpinfo()

答案 1

这里有一些提示:http://php.net/manual/en/ldap.installation.php。请注意,您需要添加另外两个 DLL 和 。您可能还需要编译libeay32.dllssleay32.dll--with-ldap


答案 2

我按照这些说明进行操作,但仍然无法在我的phpinfo()中加载LDAP。Apache 日志在启动时显示以下非致命消息:######/php5.4.16/ext/php_ldap.dll - The specified module could not be found. in Unknown on line 0

最后,我再次查看phpinfo(),发现系统变量PATH被使用而不是我的用户变量PATH,并且它不包含PHP根和PHP扩展文件夹的正确路径。只需将它们添加并重新启动Apache,就可以解决问题。希望这可以帮助别人。####\php\php5.4.16;####\php\php5.4.16\ext;


推荐