【问题标题】:LDAP not loading into php 5.6 on RHL 7LDAP 未加载到 RHEL 7 上的 php 5.6
【发布时间】:2016-07-19 15:52:29
【问题描述】:

我在 RHL 7 环境中使用 PHP 5.6 连接到 LDAP 服务器时遇到了一些问题。应用程序本身正在运行 Codeigniter,当我尝试 LDAP 连接时出现错误:

LDAP 功能不存在。要么加载模块 ldap php 模块 或者使用编译了ldap支持的php。

我已经使用yum安装了PHP-ldap和openldap,以及在加载的PHP.ini文件中手动添加了扩展名。

extension=/usr/lib64/php/modules/ldap.so

但是,我仍然收到错误消息,并且 phpinfo() 没有将 ldap 显示为已加载的模块。

我还检查了我的 Apache 错误日志中是否有任何有用的信息。虽然我在尝试重新加载页面时没有收到任何错误,但当我重新启动服务器时,我收到了一个错误:

PHP 警告:PHP 启动:无法加载动态库 '/usr/lib64/php/modules/ldap.so' - /usr/lib64/php/modules/ldap.so: 无法打开共享对象文件:未知中没有这样的文件或目录 在第 0 行

我已经检查过了,ldap.so 确实存在于那个位置。

我还应该提到 PHP 安装在一个异常位置,它位于 /opt/rh/rh-php56,不确定这是否会导致问题。

更新:------------ 我已将 ldap.so 复制并移动到 /opt/rh/rh-php56/root/usr/lib64/php/modules/ldap.so 并删除了 php.ini 中的路径,以便它现在像 extension=ldap.so 一样调用 ldap。

警告已更改为

PHP 警告:PHP 启动:ldap:无法初始化模块\n模块 使用模块编译 API=20100525\nPHP 使用模块编译 API=20131226\n这些选项需要在第 0 行的 Unknown 中匹配\n

我需要做些什么来编译 ldap.so 文件吗?

【问题讨论】:

  • 您确定 so 确实存在,而且它不是(比如说)损坏的符号链接?
  • 是的,它显示为 -rwxr-xr-x。 1 根 57792 Apr 4 07:15 ldap.so

标签: php codeigniter ldap redhat


【解决方案1】:

问题归结为为服务器运行的 PHP 版本安装了错误的 LDAP 版本。

在运行 rh-php56-php 时,我还需要安装 rh-php56-php-ldap,而不是标准的 php-ldap 包。安装正确的软件包后,我遇到的错误就停止了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-10
    • 2017-07-18
    • 2018-02-16
    • 2015-04-10
    • 2023-03-18
    • 2012-04-18
    • 2016-03-14
    • 1970-01-01
    相关资源
    最近更新 更多