【问题标题】:Cannot get LDAP extension enabled on new PHP IIS server无法在新的 PHP IIS 服务器上启用 LDAP 扩展
【发布时间】:2016-08-03 13:27:16
【问题描述】:

我有一个新服务器在工作,昨天在上面安装了 PHP 5.4.21,今天早上 SQLSRV 工作了,但现在我无法启用 LDAP。它没有显示在 phpinfo() 中。这是我在 C:\PHP 中的 php.ini 文件,这是 phpinfo() 所说的正确目录:http://pastebin.com/yWv9gRNT

我已取消注释extension=php_ldap.dll(靠近底部),我在 php.ini 文件中链接的 ext 文件夹中有 dll,我已经多次重新启动 IIS,我什至将所有 DLL 复制到 Windows\System32某些论坛上推荐的文件夹(包括 libsasl.dll libeay32.dll 和 ssleay32.dll)并重新启动服务器。服务器是运行 IIS 7.5 的 Windows 2008 R2。

【问题讨论】:

  • 默认情况下未启用 PHP 中的 LDAP 支持。这很有用php.net/manual/en/ldap.installation.php
  • @Lokesh 谢谢,我知道它没有启用,但我已经启用它并关注了大量论坛帖子,但仍然无法正常工作

标签: php iis ldap


【解决方案1】:

添加另外两个 dll libeay32.dllssleay32.dll 并使用 --with-ldap 编译
一步一步:
1 在 php.ini 中添加 extension = php_ldap.dll
2 通过检查确保您正在编辑正确的 php.ini phpinfo() 的输出
3检查 php.ini 文件以获取扩展目录的位置
4检查 php_ldap.dll 是否位于其中目录
5 找到文件 libeay32.dll 和 ssleay32.dll 并将它们的目录添加到 Windows PATH
6 重新启动服务器。如果启用了 LDAP,在 phpinfo() 的输出中会有一个关于它的部分

【讨论】:

  • 真的很抱歉,但是“使用--with-ldap 编译”是什么意思?自从你发布它以来,我一直在寻找这意味着什么,但我没有得到任何地方,我已经在 ext 和 windows/system32 中拥有那些 dll
  • @Maff 在编译 PHP 以启用 LDAP 支持时,您需要使用 --with-ldap[=DIR] 配置选项。 DIR 是 LDAP 基本安装目录。如果您浏览了我分享的链接,它包含所有信息
  • 当你发布它时我去了链接,但我没有编译 php(或者我误解了该页面的含义),php 是我下载并放入 c:\ 的 zip 文件php,在 IIS 中设置它,我需要的未注释部分就是这样。我找不到任何关于编译 php
  • @Maff 您需要在启用 LDAP 的情况下编译 PHP。或者找到启用了 LDAP 的 Windows 二进制文件。
  • @Lokesh 它在 ext 文件夹和 windows/system32 中,php 管理器说它已启用但它没有显示在 phpinfo() 中
【解决方案2】:

好的,我已经解决了,离开了一个星期,回来再看一遍...... 结果是第一次(在此处发布之前)它不起作用(dll文件不在system32文件夹中)我在这里关注了一些帖子,人们建议下载最新版本的PHP并使用分机文件夹并复制我们已安装的文件夹。今天我下载了与我的版本完全匹配的 zip,覆盖了所有较新的 dll,现在它可以完美运行,感谢所有帮助并提供专业知识和时间的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 2011-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多