CakeFest 2024: The Official CakePHP Conference

インストール手順

PHP の LDAP サポートはデフォルトで有効になっていません。 LDAP サポートを有効にして PHP をコンパイルするには、設定オプション --with-ldap[=DIR] を指定して PHP をコンパイルする必要があります。 DIR は LDAP をインストールしたディレクトリです。 SASL サポートを有効にするためには、システム上に sasl.h を用意し、 --with-ldap-sasl[=DIR] を指定する必要があります。

注意: Win32 ユーザーへの注意

この拡張モジュールを動作させるには、 Windows システムの PATH が通った場所に DLL ファイルが存在する必要があります。 FAQ の "Windows で PHP のディレクトリを PATH に追加するにはどうすればいいのですか?" で、その方法を説明しています。 DLL ファイルを PHP のフォルダから Windows のシステムディレクトリにコピーしても動作します (システムディレクトリは、デフォルトで PATH に含まれるからです) が、これは推奨しません。 この拡張モジュールを使用するには、以下のファイルが PATH の通った場所にある必要があります。 libeay32.dll および ssleay32.dll、 OpenSSL 1.1 以降の場合、 libcrypto-*.dll および libssl-*.dll

Oracle LDAP ライブラリを使用するには、Oracle 環境 が適切に設定されている 必要があります。

add a note

User Contributed Notes 14 notes

up
78
Frank
11 years ago
I found not only "Versions before PHP 4.3.0 additionally require libsasl.dll.".

If you use php-5.3.3-Win32-VC9-x86 or later Versions that
It's require libsasl.dll.

Running under Windows & Apache 2.2.8
PHP file is download from http://windows.php.net/downloads/releases/archives/

When I use php-5.2.x-Win32-VC6-x86 and php-5.3.x-Win32-VC6-x86

1.just uncomment extension=php_ldap.dll in php.ini
2.Restart apache,it's ok

When I use php-5.3.x-Win32-VC9-x86 and php-5.4.x-Win32-VC9-x86

1.just uncomment extension=php_ldap.dll in php.ini
2.Restart apache,always fail...
(only php-5.3.1-Win32-VC9-x86 & php-5.3.2-Win32-VC9-x86 is ok. )

[php-5.3.3-Win32-VC9-x86 or later Versions]
1.just uncomment extension=php_ldap.dll in php.ini
2.copy libsasl.dll to [apache folder]\bin
3.Restart apache,it's ok
up
7
p38fln at msn dot com
4 years ago
On newer versions of Windows and Windows Server, if you've installed PHP from the Microsoft Web Platform Installer (PI) then all you have to do is add extension=php_ldap.dll to the extensions section and restart IIS.
up
31
msuzer
12 years ago
If using a debian machine (debian or ubuntu variants) just do apt-get install php5-ldap, that's all to get ldap work on php. No need to get sources, try to compiling them and so on.
up
6
Anonymous
8 years ago
OCI client from Oracle distributes un ldap.h which may collision with the SO ldap.h.
You can, remove the Oracle ldap.h and build or configure php without oci8 and then add OCI8 later as a shared extension.
This latter step is easiest using PECL: pecl install oci8. You will then need to add 'extension=oci8.so' to your php.ini.
up
3
tom at wheelercreek dot com
14 years ago
If you're running on Windows XP with Apache, and you installed PHP 5 from the windows installer rather than the full zipped version - you may not have the php_ldap.dll file.

I had to follow the steps above, making sure PHP was added to my Windows Path, adding the 2 dll files to the system32 directory, also making sure the php.ini extensions directory was set correctly (in my case: C:\Program Files\PHP\ext).

Still was a getting a message about not being able to locate the "php_lamp.dll" file. I finally went back, downloaded the full .zip file of latest PHP version, and that missing dll file is included there - along with many others.

Remember to restart Apache server after you do all this.
up
0
nesbittp
10 years ago
To enable PHP LDAP for IIS, I installed PHP Manager which integrates with IIS. Open this up and you can enable/disable extensions. Enable php_ldap.dll and it works straight away.
up
-7
silver dot alecs at yahoo dot com
10 years ago
The easiest way to install ldap extension on Ubuntu 12.04 is:

sudo apt-get install php5-ldap

Also don't forget to laod the extension.
up
-6
tomasz() trejderowski!pl
10 years ago
I can confirm Frank's note (made 1 year ago, see below) about requirement of "libsasl.dll" library. I have "PHP Version 5.4.7" and my Apache fails to restart with error saying, that "libsasl.dll" is missing, once I enable php_ldap.dll extension in PHP configuration.

What is even more strange, I DO HAVE this library (along with required "ssleay32.dll" and "libeay32.dll" in my PHP's directory and my PHP's directory IS listed in Windows' PATH variable and even so, I'm facing the problem of Apache failing to start.

The only workaround, I found is to copy "libsasl.dll" to "system32" system directory. Solution, that PHP documentation here discourages.

So, to summarize, section "Note to Win32 users" is twice wrong. You DO have to have "libsasl.dll" directory and you have to place it in your system folder.
up
-10
Anonymous
15 years ago
Running under IIS, I did not find the need to download and compile libraries.

1. Edit PHP.INI (which should be in windows directory)
2. Uncomment the line extension=php_ldap.dll
3. Restart IIS
up
-6
Cojak
9 years ago
Runing in IIS 8.5 on Server 2012 R2 I tried to install PHP Manager same as nesbittp needed to install Dot Net 3.5 and HTTP Activation first then installed without issue.
up
-8
Steve
15 years ago
Running under IIS, I found php_ldap would not load even though d:\php contained libeay32.dll and ssleay32.dll, and d:\php was in the PATH environment variable.

I finally tracked this down to the position of d:\php in the PATH. If d:\php is near the head of the PATH, everything works fine. If d:\php is near the end of the PATH, apparently it gets ignored by IIS (even though it works fine from the command line, e.g., with php -m). Have no idea why this is.
up
-11
tom at wheelercreek dot com
14 years ago
Sorry - I was referring to "php_ldap.dll", not php_lamp.dll
up
-14
kirk dot kerr at arcusfm dot com
13 years ago
It seems that the php 5.3 windows installer does not install the ldap.dll to the hard drive as standard - during the install process i had to specifically request that it was installed.
up
-14
chealer at gmail dot com
8 years ago
Users of the "WAMP Server" software need to enter PHP's path... as the documentation says. Although apache\apache[...]\bin\ also contains the files mentioned, this does not suffice for some reason.
For me, the path is C:\wamp\bin\php\php5.5.12
To Top