LDAP開発ヘッダーをインストールしました。
apt-get install libldb-dev
これにより、いくつかのLDAPヘッダーが追加されました。
root@crunchbang:/usr/include# ls -la ldap*
-rw-r--r-- 1 root root 9466 Apr 23 2013 ldap_cdefs.h
-rw-r--r-- 1 root root 1814 Apr 23 2013 ldap_features.h
-rw-r--r-- 1 root root 65213 Apr 23 2013 ldap.h
-rw-r--r-- 1 root root 9450 Apr 23 2013 ldap_schema.h
-rw-r--r-- 1 root root 3468 Apr 23 2013 ldap_utf8.h
ディレクトリを構成して参照すると:
./configure --with-ldap=/usr/include
私はこのエラーを受け取ります:
...
checking for LDAP support... yes
checking for LDAP Cyrus SASL support... no
checking size of long int... 4
configure: error: Cannot find ldap libraries in /usr/include.
私はDockerコンテナに関連するPHP拡張機能を取得しようとしてこの問題に遭遇しました。これが私がしなければならなかったことです:
apt-get install libldb-dev libldap2-dev
ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so \ && ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so
これは完璧に機能しました。
LDAPライブラリーをインストールします。
apt-get install libldb-dev
SOリンカーファイルを作成します。
updatedb --prunepaths=/mnt
cd /usr/lib
if [ ! -L liblber-2.4.so.2 ];
then
ln -s "$(locate liblber-2.4.so.2)"
fi
if [ ! -L liblber-2.4.so.2.8.3 ];
then
ln -s "$(locate liblber-2.4.so.2.8.3)"
fi
if [ ! -L liblber.so ];
then
ln -s "$(locate liblber.so)"
fi
if [ ! -L libldap.so ];
then
ln -s "$(locate libldap.so)"
fi
if [ ! -L libldap_r.so ];
then
ln -s "$(locate libldap_r.so)"
fi
PHPを構成します。
./configure --with-ldap=/usr
公式のPHP Dockerイメージの問題で、 this comment によると、それを行うための最もクリーンな方法は、 libldap2-dev
(Debian/Ubuntuの場合)およびconfigure
を--with-libdir=lib/x86_64-linux-gnu
で呼び出します。
私はこれと同じ問題を抱えており、上記の答えのいずれも役に立ちませんでした。次に、PHPの構成ファイルを少し掘り下げた後、別の解決策を見つけました。
1)使用しているlib directoriyを確認します。スイッチ--with-libdir=lib64
を使用する場合、libldap.so
とその他の.so
ファイルが/usr/lib64
にあるはずです。 libdirを指定しない場合、.so
ファイルは/usr/lib
にある必要があります。 .so
ファイルが非標準ディレクトリ(/usr/lib64
など)にあるが、libdirを指定したくない場合は、シンボリックリンクを作成できます。
2)スイッチを使用する--with-ldap=yes
なぜこれが構成ヘルプに記載されていないのでしょうか。
PHPバージョン5.6.20 debianおよびベース:su aptitude install libldb-dev ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so
次に、コンパイルしてみます
(あなたがUbuntuを使っていると仮定して)configure --with-ldap-libs=/usr/lib/i386-linux-gnu/
。問題が解決しない場合は、使用しているLinuxディストリビューションと構築しているプロジェクトの詳細を追加して、回答を拡張してください。