J'ai installé les en-têtes de développement LDAP:
apt-get install libldb-dev
Cela a ajouté quelques en-têtes 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
Lorsque je configure et référence le répertoire:
./configure --with-ldap=/usr/include
Je reçois cette erreur:
...
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.
Réponses:
J'ai rencontré ce problème en essayant d'impliquer des extensions PHP dans un conteneur Docker. Voici ce que je devais faire:
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
la source
Cela a parfaitement fonctionné pour moi.
Installez les bibliothèques LDAP:
apt-get install libldb-dev
Créez des fichiers de l'éditeur de liens SO:
Configurer PHP:
./configure --with-ldap=/usr
la source
sudo ln -s /usr/lib/i386-linux-gnu/liblber.so /usr/lib
,sudo ln -s /usr/lib/i386-linux-gnu/libldap.so /usr/lib
.La manière la plus propre de le faire, selon ce commentaire dans les problèmes de l'image officielle PHP Docker, est d'utiliser
libldap2-dev
(dans Debian / Ubuntu) et d'appelerconfigure
avec--with-libdir=lib/x86_64-linux-gnu
.la source
PHP version 5.6.20 debian et based:
su aptitude install libldb-dev ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so
essayez ensuite de le compilerla source
J'ai eu ce même problème et aucune des réponses ci-dessus n'a aidé. Ensuite, après avoir creusé dans le fichier de configuration de PHP, j'ai trouvé une solution différente.
1) Vérifiez quelle librairie que vous utilisez. Si vous utilisez le commutateur,
--with-libdir=lib64
vous devez avoir lelibldap.so
et les autres.so
fichiers dans/usr/lib64
. Si vous ne spécifiez pas de libdir, les.so
fichiers doivent se trouver/usr/lib
. Vous pouvez créer des liens symboliques si le.so
fichier se trouve dans un répertoire non standard (comme/usr/lib64
) mais vous ne voulez pas spécifier le libdir.2) Utilisez l'interrupteur
--with-ldap=yes
Je me demande pourquoi cela n'est pas documenté dans l'aide à la configuration.
la source
(En supposant que vous êtes sur Ubuntu) Veuillez essayer
configure --with-ldap-libs=/usr/lib/i386-linux-gnu/
. Si cela ne vous aide pas, veuillez étendre votre réponse avec des détails sur la distribution Linux que vous utilisez et le projet que vous construisez.la source
configure: error: Cannot find ldap libraries in /usr/lib.