Windows上的Apache无法找到php扩展

时间:2016-07-17 01:05:55

标签: php apache ldap apache2 windows-server-2012-r2

我在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

我该如何解决这个问题?

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

2 个答案:

答案 0 :(得分:2)

我最好的猜测是系统中缺少所需的库。 if ( event.keyCode == '13' ) { event.preventDefault(); // call your submit method here $('#default_add_comment_form').submit(); } 扩展程序要求在系统上安装php_ldaplibeay32.dll

来自ldap installation manual

  

注意:Win32用户注意

     

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

答案 1 :(得分:0)

请勿在php.ini中使用反斜杠!

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

extension_dir = "C:/php/ext"

extension=php_ldap.dll