我在使用 WAMP 时遇到此错误:
致命错误:调用未定义的函数:
ldap_connect()
我已经编辑了
php.ini
文件夹并启用了 php_ldap.dll
。
由于某种原因,当我打开它们时,只有一些扩展会显示在
phpinfo()
中。我已经重新启动了 Apache 并重新启动了我的计算机。
如果您是 Windows 用户,这是使用
XAMPP
时的常见错误,因为默认情况下未启用 LDAP
。
您可以按照以下步骤确保
LDAP
在您的 XAMPP
中工作:
[Your Drive]:\xampp\php\php.ini
:在此文件中取消注释以下行:
extension=php_ldap.dll
移动文件:
libsasl.dll
,从[Your Drive]:\xampp\php
到[Your Drive]:\xampp\apache\bin
(注意:仅XAMPP之前的版本需要移动文件:5.6.28
)
重新启动 Apache。
您现在可以使用LDAP模块的功能了!
如果您使用 Linux:
对于 php5:
sudo apt-get install php5-ldap
对于 php7:
sudo apt-get install php7.0-ldap
如果您使用的是最新版本的 PHP,您可以这样做
sudo apt-get install php-ldap
运行上面的命令应该可以解决问题。
如果由于任何原因它不起作用,请检查您的 php.ini 配置以启用 ldap,删除
extension=ldap
之前的分号以取消注释,保存并重新启动 Apache
将 PHP 的路径添加到 Windows 系统路径。该路径应包含
php.exe
。
添加路径后,打开一个新的命令提示符,并通过键入
确保
php.exe
在路径中
C:\>php --help
一旦您从上面看到正确的帮助消息,请在
php_ldap.dll
中启用
php.ini
扩展
同时将
php_ldap.dll
从 php/ext
目录复制到 apache/bin
文件夹
重新启动 wamp,
phpinfo()
现在将显示 ldap 已启用。
[您的驱动器]:\xampp\php\php.ini:在此文件中取消注释以下行:
扩展=php_ldap.dll
将文件:libsasl.dll,从 [您的驱动器]:\xampp\php 移动到 [您的驱动器]:\xampp pache 重新启动阿帕奇。 您现在可以使用LDAP模块的功能了!
打开XAMMP php.ini文件(默认路径为C:\xammp\php\php.ini)并将代码(;extension=ldap)更改为extension=php_ldap.dll并保存。重新启动 XAMMP 并保存。
php.ini
; Notes for Windows environments :
;
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
; extension folders as well as the separate PECL DLL download (PHP 5+).
; Be sure to appropriately set the extension_dir directive.
;
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
extension=php_ldap.dll
我的服务器是带有 Apache 2.4 的 Windows Server 2016,我也遇到了这个错误。将文件
libsasl.dll
从 C:\php
移动到 C:\apache\bin
并重新启动 Apache。
感谢大家的贡献。 就我而言,我需要采取以下 3 点行动才能使 ldap_connect() 在 PHP8.2.3 中工作: