2

尝试使用ldap_connect()时,我收到此错误:

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

我在启用 LDAP apache 模块的情况下重新编译了 php,并且我也编辑了我的 php.ini 文件并取消了注释:

extension=php_ldap.dll

我在 Red Hat Linux、php 5.3.10、apache 2.2 上。有任何想法吗?

加载的 Apache 模块:(包含 *util_ldap*)

core mod_authn_file mod_authn_default mod_authz_host mod_authz_groupfile mod_authz_user mod_authz_default mod_auth_basic mod_include mod_filter util_ldap mod_log_config mod_logio mod_env mod_expires mod_headers mod_setenvif mod_version mod_proxy mod_proxy_connect mod_proxy_ftp mod_proxy_http mod_proxy_scgi mod_proxy_ajp mod_proxy_balancer mod_ssl prefork http_core mod_mime mod_status mod_autoindex mod_asis mod_info mod_suexec mod_cgi mod_negotiation mod_dir mod_actions mod_userdir mod_alias mod_rewrite mod_so mod_auth_passthrough mod_bwlimited mod_fpcgid mod_php5 mod_security

Apache 协议:(包含:ldap

字典,文件,ftp,ftps,gopher,http,https,imap,imaps,ldap,ldaps,pop3,pop3s,rtsp,smtp,smtps,telnet,tftp

4

4 回答 4

10

你写:

尝试使用 ldap_connect() 时,出现此错误:

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

您收到此错误是因为未定义函数ldap_connectDocs 。您不能在 PHP 中调用未定义的函数,这就是您看到致命错误的原因。

要定义该函数,您需要加载一个名为LDAP. 它带有安装说明。你写了:

我重新编译了启用 LDAP apache 模块的 php。

如果您重新编译 PHP,请确保启用 LDAP,请参阅:

--with-ldap[=DIR]在编译 PHP 以启用 LDAP 支持时,您将需要使用配置选项。DIR 是 LDAP 基本安装目录。

但是,通常只需通过包管理器安装您需要的东西就足够了,例如尝试:

# yum install php-ldap

如果这还不够,并且您实际上需要编辑 PHP 配置(并非总是必要的),请执行以下操作:

$ vi /etc/php.ini

add extension=ldap.so

# service httpd restart

我希望这是有帮助的。注意那.dll只是窗户。

于 2012-04-15T14:22:50.007 回答
1

我强烈建议您使用可以使用 yum 安装的 PHP。根据您的 RH 版本,您可能必须指定您想要 php53(对于 RH < 6)。所以,像这样进行安装:

  1. 百胜安装php53
  2. 百胜安装 php53-ldap

在这一点上,你应该很高兴。您根本不需要安装任何特殊的 Apache LDAP 库来让 PHP 与 LDAP 一起工作。

如果您使用的是 RH 6,那么您可以跳过名称的 53 部分。

于 2012-04-13T00:26:52.217 回答
1

这主要是一种预感,但是您是否尝试过降级到 PHP 5.3.9?

Internet 上有少量关于 LDAP 在 5.3.10 中被破坏的传言。此外,如果您觉得大胆,可以尝试 PHP 5.4。

于 2012-04-11T19:55:09.377 回答
0

对于 CentO。我已经安装了 PHP 7。所以当我尝试执行时

yum install php-ldap

有这个错误

php71w-common conflicts with php-common-5.4.16-43.el7_4.1.x86_64

要解决此错误并安装 ldap-php,请执行

yum install php71w-ldap

服务器将尝试安装 5.6 但我们需要引导服务器安装 7。

如果它不起作用,请尝试在另一个答案中提到的 php.ini 中添加扩展名。

并且不要忘记重新启动服务器。

安装完成后,ldap-login 将成功完成。

于 2018-03-29T13:06:02.880 回答