PHP가 LDAP 헤더 라이브러리를 찾지 못하도록 구성

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 확장을 얻으 려고이 문제가 발생했습니다. 내가해야 할 일은 다음과 같습니다.

  1. apt-get install libldb-dev libldap2-dev
  2. 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 이미지 문제에 대한 이 의견 에 따르면 가장 깨끗한 방법 은 libldap2-dev(데비안 / 우분투에서)을 사용하고 호출하는 것 configure입니다 --with-libdir=lib/x86_64-linux-gnu.


답변

PHP 버전 5.6.20 데비안 기반 :

su
aptitude install libldb-dev
ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so

컴파일을 시도하십시오.


답변

나는이 같은 문제가 있었고 위의 답변 중 어느 것도 도움이되지 못했습니다. 그런 다음 PHP의 구성 파일을 파고 들자 다른 해결책을 찾았습니다.

1) 사용중인 lib director를 확인하십시오. 스위치 --with-libdir=lib64를 사용하는 경우 libldap.so및에 다른 .so파일 이 있어야합니다 /usr/lib64. libdir을 지정하지 않으면 .so파일은에 있어야합니다 /usr/lib. .so파일이 (와 같은 /usr/lib64) 비표준 디렉토리에 있지만 libdir을 지정하지 않으려 는 경우 심볼릭 링크를 만들 수 있습니다 .

2) 스위치를 사용하십시오 --with-ldap=yes

이것이 왜 구성 도움말에 설명되어 있지 않은지 궁금합니다.


답변

(우분투에 있다고 가정)을 시도하십시오 configure --with-ldap-libs=/usr/lib/i386-linux-gnu/. 도움이되지 않는다면, 어떤 Linux 배포판을 사용하고 있고 어떤 프로젝트를 빌드하고 있는지에 대한 세부 사항으로 답변을 확장하십시오.