使用 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
, from [Your Drive]:\xampp\php
to [Your Drive]:\xampp\apache\bin
(注意: 移动文件只需要 XAMPP 之前的版本: 5.6.28
)
重启阿帕奇。
您现在可以使用 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 已启用。
打开 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
[您的驱动器]:\xampp\php\php.ini:在此文件中取消注释以下行:
扩展=php_ldap.dll
移动文件:libsasl.dll,从 [Your Drive]:\xampp\php 到 [Your Drive]:\xampp\apache\bin 重启 Apache。您现在可以使用 LDAP 模块的功能了!
我的服务器是带有 Apache 2.4 的 Windows Server 2016,我也遇到了这个错误。移动文件libsasl.dll
,从C:\php
到C:\apache\bin
并重新启动 Apache。