If you plan to use Oracle Internet Directory with LDAPS, you NEED to compile the php-ldap library with Oracle Support.
Also, with OID 10g I had to create a folder, reference it in the env variable $ORACLE_HOME, and copy in it three ldap message files found in my OID installation.
At the end, my $ORACLE_HOME looked like this :
ldap
mesg
ldapf.msb
ldapus.msb
ldapus.msg
(Note that the ldapf.msb is here because I have a french installation of OID)
To use ldaps, you will need to use ldap_connect this way :
ldap_connect(host,port,"file://path/to/wallet",walletpassword,sslauth)
Your wallet only needs to contain the CA (secure) certificate.
with sslauth being :
1 for no ssl authentication
32 for ssl server authentication
64 for ssl mutual authentication
要件
OCI8 拡張モジュールには、Oracle 9iR2、10g あるいは 11g のクライアントライブラリが必要です。 もし Oracle Database が PHP と同じマシンで動いているのなら、 必要なライブラリはすでにそこに含まれています。 PHP が別のマシンで動いている場合は、無料で入手できる » Oracle Instant Client のライブラリを使いましょう。
Oracle Instant Client を使うには、basic 版あるいは basiclite 版の ZIP ファイルか RPM パッケージを使います。PHP をソースコードからビルドする場合は、 さらに sdk の ZIP ファイルあるいは devel RPM パッケージも必要です。
Windows では、バージョン 10gR2 以降に由来するクライアントライブラリが php_oci8 の DLL に対して必要です。 PHP 5.3.5 以前の PHP 5.3 では、Oracle 11gR1 以降のクライアントライブラリが php_oci8_11g の DLL に対して必要です。 PHP 5.3.6 からは、Oracle 11gR2 以降のクライアントライブラリが php_oci8_11g の DLL に対して必要です。 Instant Client のバージョンによっては、さらに mfc71.dll と msvcr71.dll が必要になるかもしれません。
PHP を動かすときには、少なくとも OCI8 をビルドしたときと同じバージョン以降の Oracle ライブラリをつかわなければなりません。
注意:
OCI8 が 9iR2 あるいは 10g のクライアントライブラリを使っている場合は、PHP から Oracle Database 8i, 9iR2, 10g あるいは 11g に接続することができます。 OCI8 が 11g のクライアントライブラリを使っている場合は、 接続できるデータベースは 9iR2, 10g あるいは 11g です。
注意:
OCI8 の全機能が使えるのは、 最新バージョンのクライアントライブラリとデータベースを使っているときだけです。
