【问题标题】:Compile php with ldap [closed]使用 ldap 编译 php [关闭]
【发布时间】:2012-09-22 04:14:23
【问题描述】:

我在 Linux Mint 上 - 我无法使用 LDAP 支持编译 php

配置说:

checking for LDAP Cyrus SASL support... yes
configure: error: Cannot find ldap libraries in /usr/lib.

但似乎每个 -dev 库都已安装:

 dpkg -l *ldap* | grep ii
ii  ldap-utils                                    2.4.28-1.1ubuntu4.1                        OpenLDAP utilities
ii  ldaptor-utils                                 0.0.43+debian1-6ubuntu1                    command-line LDAP utilities
ii  libaprutil1-ldap                              1.3.12+dfsg-3                              Apache Portable Runtime Utility Library - LDAP Driver
ii  libkldap4                                     4:4.8.5-0ubuntu0.1                         library for accessing LDAP
ii  libldap-2.4-2                                 2.4.28-1.1ubuntu4.1                        OpenLDAP libraries
ii  libldap2-dev                                  2.4.28-1.1ubuntu4.1                        OpenLDAP development libraries
ii  libnet-ldap-perl                              1:0.4300-2ubuntu1                          client interface to LDAP servers
ii  libsasl2-modules-ldap                         2.1.25.dfsg1-3ubuntu0.1                    Cyrus SASL - pluggable authentication modules (LDAP)
ii  php5-ldap                                     5.3.10-1ubuntu3.4                          LDAP module for php5
ii  python-ldaptor                                0.0.43+debian1-6ubuntu1                    pure-Python library for LDAP operations

这不是它第一次出现故障,每次都有一些新的奇怪位置用于库或一些新的特殊包,或者其他什么......你们中有人发现了吗?这是 php 5.4.7。

谢谢,

【问题讨论】:

  • 请提供所需库的完整路径名,将其与要求进行比较,如果不同,请放置符号链接或使用开关指定。

标签: php ldap linux-mint


【解决方案1】:

信不信由你,configure 找不到 /usr/lib/i386-linux-gnu 下的 ldap.so

所以我做了这些链接:(liblber 是 libldap 的朋友)

cd /usr/lib
ln -s i386-linux-gnu/libldap.so
ln -s i386-linux-gnu/liblber.so

并且配置成功。不好的是'make'不起作用,因为:

/usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_strdup@@OPENLDAP_2.4_2'
/usr/bin/ld: note: 'ber_strdup@@OPENLDAP_2.4_2' is defined in DSO /usr/lib/i386-linux-gnu/liblber-2.4.so.2 so try adding it to the linker command line
/usr/lib/i386-linux-gnu/liblber-2.4.so.2: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Erreur 1

这似乎是 PHP 中的一个错误 - 我曾见过 PHP 开发人员在过去修复了一些类似的错误。

【讨论】:

  • 我遇到了同样的问题,直到我还 sym 链接了 liblber-2.4.so.2 文件后它才自行解决
  • 我遇到了同样的问题。将libldap.soliblber.soliblber-2.4.so.2 链接到/usr/lib,然后执行make clean 并重新运行./configuremake 为我修复了它。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
  • 2012-09-24
  • 1970-01-01
  • 2014-10-11
  • 2019-06-21
  • 2012-01-24
相关资源
最近更新 更多