【问题标题】:Fatal error: Call to undefined function ldap_connect() in ubuntu致命错误:在 ubuntu 中调用未定义函数 ldap_connect()
【发布时间】:2011-04-20 05:15:06
【问题描述】:

我正在尝试通过 PHP 连接到我的 LDAP 服务器,但出现以下错误:

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

任何帮助将不胜感激。

提前致谢, 肉山

【问题讨论】:

  • 我正在尝试连接到打开的 ds
  • 无论你在哪里尝试连接 - 你还没有安装 php ldap 扩展。
  • 我遇到了同样的问题,但使用的是 Solaris。我想我 确实 使用 PHP 启用了 LDAP。有关 phpinfo() 的输出,请参阅 pastie.org/1982091 并搜索 LDAP 或“ldap”。您应该会看到“--with-ldap=shared,/opt/csw”等。所以我不知道我还缺少什么。

标签: php ubuntu ldap


【解决方案1】:

确保LDAP extension 已安装并启用。这个答案假设你有 PHP5,但是,对于 PHP7,事情也应该类似地工作。

安装 LDAP 扩展

应该有一个类似php5-ldap的包:

aptitude show php5-ldap
Paquet : php5-ldap
...
Description : LDAP module for php5                                                                                                                                                                                                           
 This package provides a module for LDAP functions in PHP scripts.

因此,包通常可以这样安装:

sudo apt-get install php5-ldap

如果您不使用apt-get,请使用您使用的包管理器的等效命令。

启用 LDAP 扩展

要在安装后启用包,可以使用以下命令:

sudo php5enmod ldap

如果您从上述命令中收到任何错误消息,则表示出现问题。

注意: 启用包后,通常需要重启/重新加载服务才能识别新启用的模块。对于 apache,您可以通过以下方式执行此操作:

sudo service apache2 restart

如果您不使用 apache,请为您的服务器使用等效命令。

【讨论】:

  • 我认为我们应该在安装后重新启动服务器。
  • 安装此软件包后,您需要重新启动 apache 服务。 sudo service apache2 restart 应该在 Ubuntu 中解决问题。
  • 确保安装完 ldap 后 php lib 文件夹中有 ldap.so 并且 ldap.ini 添加到 php config 或启用 ldap 扩展,有时安装不会添加,要么重新运行手动安装或添加
【解决方案2】:
sudo apt-get install php5-ldap

不要害怕谷歌。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2012-07-18
    • 2017-01-25
    相关资源
    最近更新 更多