【发布时间】: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