>  기사  >  백엔드 개발  >  PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 ldap_connect() 호출

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 ldap_connect() 호출

PHPz
PHPz원래의
2023-06-23 08:11:521107검색

PHP 애플리케이션에서는 LDAP(Lightweight Directory Access Protocol)를 사용하는 것이 매우 일반적입니다. 그러나 때로는 다음과 같은 오류 메시지가 나타날 수 있습니다.

PHP 치명적인 오류: 정의되지 않은 함수 ldap_connect() 호출

이 오류 메시지는 PHP 버전이 LDAP 확장을 로드하거나 활성화하지 않음을 나타냅니다. 이로 인해 사용자가 LDAP 서버에 연결하고 해당 작업을 수행할 수 없게 되기 쉽습니다.

이 기사에서는 이 오류 메시지를 해결하는 방법에 대해 설명합니다.

  1. PHP의 LDAP 확장이 활성화되었는지 확인하세요

먼저 PHP 환경에서 LDAP 확장이 활성화되어 있는지 확인하세요. 다음을 통해 확인할 수 있습니다.

터미널을 열고 다음 명령을 실행합니다.

php -m | grep ldap

"ldap" 키워드의 출력이 표시되면 LDAP 확장이 활성화된 것입니다. 그렇지 않은 경우 활성화해야 합니다. 정확한 방법은 사용 중인 시스템 및 PHP 버전에 따라 다릅니다.

  1. php.ini 파일에서 LDAP 확장 활성화

PHP 환경에서 LDAP 확장이 활성화되지 않은 경우 php.ini 파일을 편집하여 활성화할 수 있습니다. Linux 시스템에서 php.ini는 일반적으로 /etc/ 디렉터리에 있지만 Windows 시스템에서는 PHP 루트 디렉터리에 있습니다.

php.ini 파일을 열고 다음 줄을 찾으세요:

;extension=php_ldap.dll

앞의 세미콜론을 제거하고 확장자를 사용 중인 시스템에 해당하는 확장자로 변경하세요:

extension=php_ldap. so (Linux)

extension=php_ldap.dll (Windows)

파일을 저장하고 닫은 후 웹 서버를 다시 시작하세요.

  1. 웹 서버 다시 시작

LDAP 확장을 활성화했는데도 여전히 제대로 작동하지 않는 경우 웹 서버를 다시 시작해 보세요.

Linux 시스템에서는 다음 명령을 사용하여 Apache를 다시 시작할 수 있습니다.

sudo service apache2 restart

Windows 시스템에서는 다음 명령을 사용하여 IIS를 다시 시작할 수 있습니다.

iisreset

  1. LDAP 서비스가 available

LDAP 확장이 활성화되어 있고 웹 서버를 다시 시작했지만 여전히 LDAP 서버에 연결할 수 없다면 LDAP 서비스를 사용할 수 없기 때문일 수 있습니다.

다음 명령을 사용하여 LDAP 서비스를 사용할 수 있는지 확인할 수 있습니다.

telnet your-ldap-server-hostname 389

출력이 다음과 비슷하면 LDAP 서비스를 사용할 수 있는 것입니다.

10.0.0을 사용해 보세요. 2.15...

your-ldap-server-hostname에 연결되었습니다.

Escape 문자는 '^]'입니다.

  1. PHP 코드가 올바른지 확인하세요

마지막으로 PHP 코드가 올바른지 확인해야 합니다. 맞다. ldap_connect() 함수가 호출되는 PHP 코드의 위치가 올바른지 확인하고 모든 매개변수가 올바른지 확인하세요. 함수를 호출하기 전에 LDAP 확장이 로드되었고 LDAP 서비스를 사용할 수 있는지 확인해야 합니다.

요약

"정의되지 않은 함수 ldap_connect() 호출"이라는 오류 메시지가 나타나면 위의 단계에 따라 하나씩 확인하세요. 먼저 LDAP 확장이 활성화되었는지 확인한 다음 php.ini 파일이 올바르게 구성되었는지 확인하세요. 둘째, 웹 서버를 다시 시작하고 LDAP 서비스를 사용할 수 있는지 확인해야 합니다. 마지막으로 PHP 코드가 올바른지 확인하세요. 위 단계에 따라 문제를 해결했지만 문제가 여전히 존재하는 경우 다른 유사한 확장 기능을 사용하거나 LDAP 인터페이스 라이브러리를 사용하는 것을 고려해 볼 수 있습니다.

위 내용은 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 ldap_connect() 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.