繁体   English   中英

PHP加载了模块,但是Apache Start说不-LDAP

[英]PHP loads module, but Apache Start Says No - LDAP

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

apache2.2.21拉链来自apachelounge

来自php.net的php 5.3.8线程安全zip

Windows 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在第0行的Unknown中。

我已经仔细检查过并三重检查过了,目录在那里,但是当apache尝试运行php时却没有加载。 但是,当我通过命令行运行PHP时,它可以很好地加载。

我已经看过phpinfo(),并且apache也正在加载正确的php.ini文件。

我不知道怎么回事。

奇怪的是,通常这样的php错误可能会导致apache停止并引起某种故障。 不过这是一个PHP警告,并且apache启动正常,但是当我尝试调用ldap_connect时会抱怨。

有人有什么建议吗?

这就是我解决的方法。

我认为我必须在php.ini文件中切换了某些值。 我使用Windows php安装程序,运行它,并使其覆盖现有的php.ini文件。

之后,我将php的压缩版本放下以替换Windows安装程序版本,但是我保存了php.ini文件。 之后,它工作正常,没有问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM