Ich habe die LDAP-Entwicklungsheader installiert:
apt-get install libldb-dev
Dies fügte ein paar ldap-Header hinzu:
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
Wenn ich das Verzeichnis konfiguriere und referenziere:
./configure --with-ldap=/usr/include
Ich erhalte diesen Fehler:
...
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.
Antworten:
Ich bin auf dieses Problem gestoßen, als ich versucht habe, PHP-Erweiterungen in einen Docker-Container einzubeziehen. Folgendes musste ich tun:
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
quelle
Das hat bei mir perfekt funktioniert.
Installieren Sie LDAP-Bibliotheken:
apt-get install libldb-dev
Erstellen Sie SO-Linker-Dateien:
Konfigurieren Sie PHP:
./configure --with-ldap=/usr
quelle
sudo ln -s /usr/lib/i386-linux-gnu/liblber.so /usr/lib
,sudo ln -s /usr/lib/i386-linux-gnu/libldap.so /usr/lib
.Der sauberste Weg, dies zu tun, ist laut diesem Kommentar in den Ausgaben des offiziellen PHP Docker-Images die Verwendung
libldap2-dev
(in Debian / Ubuntu) und das Aufrufenconfigure
mit--with-libdir=lib/x86_64-linux-gnu
.quelle
PHP Version 5.6.20 debian und basiert:
su aptitude install libldb-dev ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so
Versuchen Sie dann, es zu kompilierenquelle
Ich hatte das gleiche Problem und keine der obigen Antworten hat geholfen. Nachdem ich mich in der Konfigurationsdatei von PHP umgesehen hatte, fand ich eine andere Lösung.
1) Überprüfen Sie, welche lib-Direktive Sie verwenden. Wenn Sie den Schalter verwenden
--with-libdir=lib64
, sollten Sie dielibldap.so
und die anderen.so
Dateien in haben/usr/lib64
. Wenn Sie kein libdir angeben.so
, sollten sich die Dateien in befinden/usr/lib
. Sie können Symlinks erstellen, wenn sich die.so
Datei in einem nicht standardmäßigen Verzeichnis (wie/usr/lib64
) befindet, Sie jedoch das libdir nicht angeben möchten.2) Verwenden Sie den Schalter
--with-ldap=yes
Ich frage mich, warum dies nicht in der Konfigurationshilfe dokumentiert ist.
quelle
(Vorausgesetzt, Sie sind auf Ubuntu) Bitte versuchen Sie es
configure --with-ldap-libs=/usr/lib/i386-linux-gnu/
. Wenn dies nicht hilft, erweitern Sie Ihre Antwort bitte um Details darüber, welche Linux-Distribution Sie verwenden und welches Projekt Sie erstellen.quelle
configure: error: Cannot find ldap libraries in /usr/lib.