【问题标题】:How to enable php_ldap extension on Windows Server 2012 R2 64?如何在 Windows Server 2012 R2 64 上启用 php_ldap 扩展?
【发布时间】:2017-01-06 21:59:23
【问题描述】:

我正在尝试在 Windows Server 2012 R2(64 位)上启用 php_ldap 扩展。

我的环境是 Apache 2.4 + PHP 7 (this version)

我已从 php.ini 中的 ;extension=php_ldap.dll 中删除了 ;。但是我在 error.log 中遇到了这个错误:

PHP Warning:  PHP Startup: Unable to load dynamic library 'E:\\php7\\ext\\php_ldap.dll' - The specified module could not be found.\r\n in Unknown on line 0

我正在使用 Dependency Walker 获取有关 php_ldap.php 的“依赖项”的一些额外信息:

  • API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
  • API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
  • API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
  • API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
  • EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL
  • SETTINGSYNCPOLICY.DLL

我安装了不同版本的 VC Redistributable (2005,2008,2010,2012,2015),但没用

是否可以在 Windows Server 2012 上使用 php_ldap?

【问题讨论】:

  • 你的extension_dir指令在你的php.ini文件中是什么样子的?
  • extension_dir = "E:\php7\ext" 并且 php_ldap.dll 在那里
  • 也许它需要一个斜杠?您是否尝试过:extension_dir = "E:\php7\ext\"
  • @ChadSikorra 尾部斜杠不是必需的。即使找到了模块但某些依赖项没有出现,似乎也会出现错误“找不到模块”(不幸的是它没有提到缺少哪个依赖项)

标签: php dll ldap windows-server-2012-r2


【解决方案1】:

我找到了解决方案,复制那些 DLL:

  • LIBSASL.DLL
  • php7ts.dll
  • IESHIMS.DLL

到:

  • System32
  • SysWOW64
  • php7
  • Apache24/bin

【讨论】:

  • 您可能只需将E:\php7 添加到您的系统路径...?还没有看到需要像这样复制 IESHIMS.dll 以使 PHP 工作。
猜你喜欢
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多