Windows上的Apache无法找到php扩展

问题描述 投票:1回答:2

我在Windows Server 2012上安装了Apache 2.4和php。

我试图加载php_ldap.dll扩展。

这就是我所做的:

php.ini中我设置了以下内容:

extension_dir = "C:\php\ext"

extension=php_ldap.dll

然后,我确保dll在那条路上可用,是的,它就在那里:

enter image description here

phpinfo表明我正在编辑正确的php.ini并更新了extension_dir

但是,当我启动Apache时,php_ldap.dll没有加载。

Apache日志显示此警告:

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

我怎样才能解决这个问题?

还有,\\是什么?为什么它会加倍“\”并且问题是什么?

php apache ldap apache2 windows-server-2012-r2
2个回答
2
投票

我最好的猜测是你的系统缺少一个必需的库。 php_ldap扩展要求在系统上安装libeay32.dllssleay32.dll

来自ldap installation manual

注意:Win32用户请注意

为了使此扩展能够工作,有一些DLL文件必须可供Windows系统PATH使用。有关如何执行此操作的信息,请参阅标题为“如何将PHP目录添加到Windows上的PATH”的常见问题解答。虽然将DLL文件从PHP文件夹复制到Windows系统目录也可以(因为系统目录默认位于系统的PATH中),但不建议这样做。此扩展需要以下文件位于PATH:libeay32.dll和ssleay32.dll版本之前,PHP 4.3.0还需要libsasl.dll。


0
投票

不要在php.ini中使用反斜杠!

即使在Windows系统上也总是在php.ini中斜杠。

extension_dir = "C:/php/ext"

extension=php_ldap.dll
© www.soinside.com 2019 - 2024. All rights reserved.