PHP加载模块,但ApacheStart说没有LDAP

PHP加载模块,但ApacheStart说没有LDAP,php,apache,Php,Apache,我在我的机器上下载了以下内容 apache2.2.21从ApacheLunge拉链 php 5.3.8 php.net中的线程安全zip 视窗7 我已经将它们解压缩到我计算机上的某个路径。比如说它叫$HOME 所以我有$HOME/apach2和$HOME/php 我已经成功地让phpinfo()页面显示,甚至在netbeans中安装了用于调试的xdebug扩展 我的问题如下: 我在php.ini中取消了“extension=php_ldap.dll”的注释,因为我需要ldap连接 我将启动apa

我在我的机器上下载了以下内容

apache2.2.21从ApacheLunge拉链

php 5.3.8 php.net中的线程安全zip

视窗7

我已经将它们解压缩到我计算机上的某个路径。比如说它叫$HOME

所以我有$HOME/apach2和$HOME/php

我已经成功地让phpinfo()页面显示,甚至在netbeans中安装了用于调试的xdebug扩展

我的问题如下:

我在php.ini中取消了“extension=php_ldap.dll”的注释,因为我需要ldap连接

我将启动apache,监视器显示apache正在运行。然后我导航到我的index.php,但是出现了一个错误,说ldap\u connect不存在

当我在命令行中输入if'php--rfldap_connect'时,我得到的函数原型没有问题

我甚至编写了一个php脚本,它将使用ldap扩展进行ldap搜索


$conn = ldap_connect( 'ldap://myhostsomewhere', 389 );

ldap_set_option( $conn, LDAP_OPT_PROTOCOL_VERSION, 3 );

ldap_bind( $conn, 'cn=admin,dc=emc,dc=com', 'secret' );


$rs = ldap_search( $conn, 'cn=jerry,ou=people,dc=example,dc=com', '(cn=jerry)');


$stuff = ldap_get_entries( $conn, $rs );


var_dump( $stuff );
上面的代码将返回一个包含所有结果的数组,我没有得到任何错误

但是,当我检查Apache错误日志时,我得到以下错误:

PHP警告:PHP启动:无法加载动态库“C:/Users/jerry/Documents/myprogs/PHP/ext/PHP_ldap.dll”-找不到指定的模块。\r\n第0行中的未知

我仔细检查了一遍又一遍,目录就在那里,但当apache试图运行php时,它没有加载。但是当我通过命令行运行PHP时,它的负载很好

我已经查看了phpinfo(),apache也正在加载正确的php.ini文件

我不知道发生了什么事

奇怪的是,通常这样的php错误可能会导致apache停止并导致某种故障。虽然这是一个PHP警告,apache启动得很好,但当我尝试调用ldap_connect时,它会抱怨


有人有什么建议吗?

我就是这样解决的

我想我一定是在php.ini文件中切换了某个值。我使用windows php安装程序,运行它并让它覆盖现有的php.ini文件

在那之后,我使用了php的压缩版本,并将其放入以替换windows installer版本,但我保存了php.ini文件。在那之后,它工作得很好,没有问题