安装

PHP 中的 LDAP 支持默认情况下未启用。您需要在编译 PHP 时使用 --with-ldap[=DIR] 配置选项来启用 LDAP 支持。DIR 是 LDAP 基本安装目录。要启用 SASL 支持,请确保使用了 --with-ldap-sasl[=DIR],并且系统中存在 sasl.h 文件。

注意: 注意 Win32 用户

为了使此扩展正常工作,Windows 系统 PATH 必须能够访问一些 DLL 文件。有关如何执行此操作的信息,请参阅名为 "如何在 Windows 上将我的 PHP 目录添加到 PATH" 的 FAQ。尽管将 DLL 文件从 PHP 文件夹复制到 Windows 系统目录也可以(因为系统目录默认情况下在系统的 PATH 中),但此方法不建议使用。此扩展需要以下文件位于 PATH 中: libeay32.dllssleay32.dll,或者,从 OpenSSL 1.1 开始,libcrypto-*.dlllibssl-*.dll

为了使用 Oracle LDAP 库,必须设置适当的 Oracle 环境

添加注释

用户贡献注释 11 个注释

80
Frank
11 年前
我发现不仅仅是 "PHP 4.3.0 之前的版本还需要 libsasl.dll。"。

如果您使用的是 php-5.3.3-Win32-VC9-x86 或更高版本
它需要 libsasl.dll。

在 Windows 和 Apache 2.2.8 下运行
PHP 文件从 http://windows.php.net/downloads/releases/archives/ 下载

当我使用 php-5.2.x-Win32-VC6-x86 和 php-5.3.x-Win32-VC6-x86 时

1. 仅取消 php.ini 中 extension=php_ldap.dll 的注释
2. 重新启动 Apache,一切正常

当我使用 php-5.3.x-Win32-VC9-x86 和 php-5.4.x-Win32-VC9-x86 时

1. 仅取消 php.ini 中 extension=php_ldap.dll 的注释
2. 重新启动 Apache,总是失败...
(只有 php-5.3.1-Win32-VC9-x86 和 php-5.3.2-Win32-VC9-x86 正常。)

[php-5.3.3-Win32-VC9-x86 或更高版本]
1. 仅取消 php.ini 中 extension=php_ldap.dll 的注释
2. 将 libsasl.dll 复制到 [apache 文件夹]\bin
3. 重新启动 Apache,一切正常
31
msuzer
12 年前
如果使用的是 Debian 机器(Debian 或 Ubuntu 变体),只需执行 apt-get install php5-ldap,这样就可以在 PHP 上使用 LDAP。无需获取源代码,尝试编译它们等等。
6
p38fln at msn dot com
5 年前
在较新版本的 Windows 和 Windows Server 上,如果您已从 Microsoft Web Platform Installer (PI) 安装了 PHP,那么您只需将 extension=php_ldap.dll 添加到扩展部分并重新启动 IIS。
5
匿名
9 年前
来自 Oracle 的 OCI 客户端分发了 ldap.h,它可能与 SO ldap.h 发生冲突。
您可以删除 Oracle ldap.h 并构建或配置 PHP 而不使用 oci8,然后将 OCI8 作为共享扩展添加。
后一个步骤最容易使用 PECL 完成:pecl install oci8。然后,您需要将 'extension=oci8.so' 添加到您的 php.ini 中。
3
tom at wheelercreek dot com
15 年前
如果您在 Windows XP 上运行 Apache,并且您是从 Windows 安装程序而不是完整的压缩版本安装了 PHP 5,那么您可能没有 php_ldap.dll 文件。

我必须按照上述步骤操作,确保 PHP 已添加到我的 Windows Path 中,并将 2 个 dll 文件添加到 system32 目录中,还确保 php.ini 扩展目录设置正确(在我的情况下:C:\Program Files\PHP\ext)。

仍然收到一条关于无法找到 "php_lamp.dll" 文件的消息。我最后又回去下载了最新 PHP 版本的完整 .zip 文件,该缺少的 dll 文件包含在其中 - 以及许多其他文件。

请记住,在完成所有这些操作后重新启动 Apache 服务器。
0
nesbittp
10 年前
要为 IIS 启用 PHP LDAP,我安装了 PHP Manager,它与 IIS 集成。打开它,您就可以启用/禁用扩展。启用 php_ldap.dll,它立即就可以工作了。
-7
silver dot alecs at yahoo dot com
10 年前
在 Ubuntu 12.04 上安装 ldap 扩展的最简单方法是

sudo apt-get install php5-ldap

此外,不要忘记加载扩展。
-6
tomasz() trejderowski!pl
10 年前
我确认 Frank 的注释(在一年前,请参见下面)关于 "libsasl.dll" 库的要求。我的 "PHP 版本 5.4.7",并且我的 Apache 在我启用 PHP 配置中的 php_ldap.dll 扩展后,无法重新启动,并显示错误消息说 "libsasl.dll" 丢失。

更奇怪的是,我在我的 PHP 目录中确实拥有此库(以及所需的 "ssleay32.dll" 和 "libeay32.dll"),并且我的 PHP 目录已列在 Windows 的 PATH 变量中,即使如此,我也遇到了 Apache 无法启动的问题。

我发现的唯一解决方法是将 "libsasl.dll" 复制到 "system32" 系统目录。PHP 文档在此处不建议使用此解决方案。

因此,总结一下,"注意 Win32 用户" 部分有两处错误。您确实需要 "libsasl.dll" 目录,并且必须将其放置在系统文件夹中。
-10
tom at wheelercreek dot com
15 年前
抱歉 - 我指的是 "php_ldap.dll",而不是 php_lamp.dll
-7
Cojak
9 年前
在 Server 2012 R2 上的 IIS 8.5 中运行,我尝试安装 PHP Manager,与 nesbittp 一样,需要先安装 Dot Net 3.5 和 HTTP Activation,然后才能安装成功。
-14
chealer at gmail dot com
9 年前
"WAMP Server" 软件的用户需要输入 PHP 的路径... 就像文档中说的那样。尽管 apache\apache[...]\bin\ 也包含提到的文件,但出于某种原因,这并不足够。
对我来说,路径是 C:\wamp\bin\php\php5.5.12
To Top