PHP加载模块,但Apache Start说没有- LDAP


PHP loads module, but Apache Start Says No - LDAP

我已经在我的机器上下载了以下文件

from apachelounge

php 5.3.8Windows 7

我已经将它们解压缩到我电脑上的某个路径。假设它是$HOME

我有$HOME/apach2和$HOME/php。

我已经成功地让phpinfo()页面显示,甚至安装了xdebug扩展,以便在netbeans中进行调试。

我的问题如下:

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

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

当我在命令行中输入if 'php——rf ldap_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 in Unknown in line 0.

我已经双重检查和三重检查和目录在那里,但它没有加载时,apache试图运行php。但是当我通过命令行运行PHP时,它加载得很好。

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

我不知道发生了什么。

奇怪的是,像这样的php错误通常会导致apache停止并导致某种错误。这是一个PHP警告,虽然apache启动正常,但它抱怨当我试图调用ldap_connect。

谁有什么建议?

我是这样解决的。

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

在那之后,我把php的压缩版本,并将其放入替换windows安装程序版本,但我保存了php.ini文件。在那之后,它工作正常,没有问题。