Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 致命错误:调用未定义的函数:ldap_connect()_Php_Wamp - Fatal编程技术网

Php 致命错误:调用未定义的函数:ldap_connect()

Php 致命错误:调用未定义的函数:ldap_connect(),php,wamp,Php,Wamp,使用WAMP时出现以下错误: 致命错误:调用未定义的函数:ldap\u connect() 我已经编辑了php.ini文件夹并启用了php\u ldap.dll 由于某些原因,当我打开它们时,只有一些扩展出现在phpinfo()中。我重新启动了Apache并重新启动了计算机。如果您是Windows用户,这是使用XAMPP时的常见错误,因为默认情况下未启用LDAP 您可以按照以下步骤确保LDAP在XAMPP中工作: [您的驱动器]:\xampp\php\php.ini:在此文件中,取消对以下行的

使用WAMP时出现以下错误:

致命错误:调用未定义的函数:
ldap\u connect()

我已经编辑了
php.ini
文件夹并启用了
php\u ldap.dll


由于某些原因,当我打开它们时,只有一些扩展出现在
phpinfo()
中。我重新启动了Apache并重新启动了计算机。

如果您是Windows用户,这是使用
XAMPP
时的常见错误,因为默认情况下未启用
LDAP

您可以按照以下步骤确保
LDAP
XAMPP
中工作:

  • [您的驱动器]:\xampp\php\php.ini
    :在此文件中,取消对以下行的注释:

     extension=php_ldap.dll
    
  • 将文件:
    libsasl.dll
    ,从
    [您的驱动器]:\xampp\php
    移动到
    [您的驱动器]:\xampp\apache\bin
    (注意:只有在版本:
    5.6.28
    之前的xampp才需要移动文件)

  • 重新启动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.ini

同时将
php\u ldap.dll
php/ext
目录复制到
apache/bin
文件夹

重新启动wamp,
phpinfo()
现在将显示已启用ldap。

  • [您的驱动器]:\xampp\php\php.ini:在此文件中,取消对以下行的注释:

     extension=php_ldap.dll
    
    extension=php_ldap.dll

  • 将文件libsasl.dll从[您的驱动器]:\xampp\php移动到[您的驱动器]:\xampp\apache\bin 重新启动Apache。 您现在可以使用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

实际的扩展是否可用?比如,您的extensions文件夹中是否有php_ldap.dll?在我的linux示例中,它是yum install php ldap,安装了软件包,但仍然无法登录,可能我需要重新启动ampps.:(复制文件是关键!非常感谢。使用当前的XAMPP(5.6.28),文件已经存在,无需复制。答案对于任何PHP安装都是正确的,不仅仅是wamp/XAMPP(例如,通过web平台安装IIS的PHP)。非常好,感谢您的回答!