首页 文章

无法在PHP中加载LDAP函数

提问于
浏览
2

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

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

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

extension=php_ldap.dll

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

Loaded Apache Modules: (contains util_ldap)

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_headers中指定mod_expires 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 Protocols: (contains: ldap)

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

4 回答

  • 1

    你写:

    尝试使用ldap_connect()时,我收到此错误:致命错误:调用未定义的函数ldap_connect()

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

    要定义该函数,需要加载a PHP module/extension called LDAP . 它附带installation intructions . 你写了:

    我已经重新编译了启用了LDAP apache模块的php .

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

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

    但是,通常只需通过包管理器安装所需的内容即可 . 尝试:

    # yum install php-ldap
    

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

    $ vi /etc/php.ini
    
    add extension=ldap.so
    
    # service httpd restart
    

    我希望这是有帮助的 . 请注意 .dll 仅限Windows .

  • 10

    我强烈建议您使用可以使用yum安装的PHP . 根据您的RH版本,您可能必须指定您想要php53(RH <6) . 所以,安装如下:

    • yum安装php53

    • yum安装php53-ldap

    在这一点上,你应该好好去 . 您根本不需要安装任何特殊的Apache LDAP库来使PHP与LDAP一起使用 .

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

  • 1

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

    在互联网上有一些关于LDAP在5.3.10被破坏的嗡嗡声 . 此外,如果你觉得大胆,可以尝试PHP 5.4 .

  • 0

    对于CentOs . 我已经安装了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将成功完成 .

相关问题