在 2008 R2 上使用 PHP 运行 LDAP

在 2008 R2 上使用 PHP 运行 LDAP

我在运行 2008 R2 的 Web 服务器上运行 php ldap 扩展时遇到了问题。

安装说明

  1. 阿帕奇: httpd-2.2.16-win32-x86-no_ssl.msi
  2. PHP:VC6 x86 线程安全 (2010-Jul-21 20:06:17) (ZIP)
  3. php 目录服务

我已采取的措施

  1. 确保php_ldap.dllC:\PHP\ext(我必须从http://bugs.php.net/bug.php?id=46971
  2. 已确定libeay32.dll并且ssleay32.dllC:\PHP
  3. C:\PHP已添加到PATH
  4. extension=php_ldap.dll未注释php.ini
  5. extension_dir设置C:\PHP\extphp.ini
  6. 运行了phpinfo();正确的php.ini加载,但 ldap 尚未初始化

我真的不知道可能发生了什么,当我尝试使用扩展时,出现以下错误(因为它没有加载,所以这是预料之中的):

exception 'adLDAPException' with message 'No LDAP support for PHP. See: http://www.php.net/ldap' in C:\Website\hmis\adLDAP.php:338 Stack trace: #0 C:\Website\hmis\login.php(10): adLDAP->__construct() #1 C:\Website\hmis\index.php(2): require_once('C:\Website\hmis...') #2 {main}

有人能给出一些建议,看看哪里可能出错了?谢谢。

编辑:因此,似乎 5.3.3 VC6 版本中缺少 php_ldap.dll,我的副本来自 5.3.1 VC6 版本。这会导致问题吗?我正在使用 apache,因此无法使用官方 VC9 PHP 版本,我应该尝试使用 ApacheLounge 版本吗?我不认为这有必要,因为我的 LDAP 可以使用 5.3.1 的官方版本

编辑2:因此,我尝试过的另一件事是完全删除php_ldap.dllC:\PHP\ext我得到了与之前完全相同的错误,并且 Apache 并没有像我预期的那样崩溃。它不应该无法以缺少的扩展名启动吗?

答案1

我在 2008 机器上也遇到过类似的问题。我的问题原来是由于 dll 不正确造成的。可能值得确保它们来自线程安全版本。希望这能有所帮助。

相关内容