[英]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.