2011-04-20 6 views
20
내가 PHP를 통해 내 LDAP 서버에 연결을 시도하고

에 정의되지 않은 함수 ldap_connect()를 호출하지만, 나는 다음과 같은 오류 얻을 : 어떤 도움을 매우 극명하게 될 것이다치명적인 오류 : 우분투

Fatal error: Call to undefined function ldap_connect()

합니다. 사전에

감사합니다, 의 Roshan

+0

열려있는 ds에 연결하려는 중 –

+2

연결하려는 곳이 어디이든간에 - php ldap 확장을 설치하지 않았습니다. – zerkms

+2

솔라리스와 같은 문제가 있습니다. 나는 PHP로 LDAP를 사용할 수 있다고 생각한다. phpinfo()를 출력하고 LDAP 또는 "ldap"을 검색하려면 http://pastie.org/1982091을 참조하십시오. --with-ldap = shared,/opt/csw가 표시되어야합니다. 그래서 내가 뭘 놓치고 있는지 모르겠다. –

답변

38

LDAP extension이 설치되어 있고 활성화되어 있는지 확인하십시오. 이 답변은 PHP5를 사용한다고 가정하지만, PHP7에서도 마찬가지입니다.

설치 LDAP 확장

PHP5-LDAP 같은 이름의 패키지가되어야한다

sudo apt-get install php5-ldap 

: 따라서

aptitude show php5-ldap 
Paquet : php5-ldap 
... 
Description : LDAP module for php5                                                   
This package provides a module for LDAP functions in PHP scripts. 

, 패키지는 일반적으로 같이 설치 될 수 있습니다 apt-get을 사용하지 않으면 해당 팩에 해당하는 명령을 사용하십시오 나이 매니저.

설치 후 패키지를 사용하려면 LDAP 확장

를 사용,이 명령을 사용할 수 있습니다 : 당신이 위의 명령에서 오류 메시지가 나타나면

sudo php5enmod ldap 

를, 그것은 뭔가 잘못된 것을 의미한다.

참고 : 패키지를 활성화 한 후에는 새로 활성화 된 모듈이 인식되도록 서비스를 다시 시작하거나 다시로드해야합니다. 아파치의 경우 다음을 수행 할 수 있습니다.

sudo service apache2 restart 

아파치를 사용하지 않는 경우 서버에 해당 명령을 사용하십시오.

+0

설치 후 서버를 다시 시작해야한다고 생각합니다. –

+5

이 패키지를 설치 한 후 아파치 서비스를 다시 시작해야합니다. 'sudo service apache2 restart'는 우분투에서 트릭을해야합니다. –

+0

ldap을 설치 한 후 php lib 폴더에 ldap.so가 있고 php config 또는 ldap 확장자에 ldap.ini가 추가되어 있는지 확인하십시오. 설치가 추가되지 않을 수도 있고, 설치를 다시 실행하거나 수동으로 추가 할 수도 있습니다 – Basav

4
sudo apt-get install php5-ldap 

그리고 구글을 두려워하지 않습니다.