PHP 8.0.0 Beta 4 available for testing


OCI8 1.4 は、PHP 5.3 や PHP 5.4 そして PHP 5.5 に含まれています。また、 » PECL からも取得できます。 新しいバージョンである OCI8 2.0 は available only from » PECL にしかありません。 OCI8 1.4 を使うには、Oracle 12c, 11g, 10g あるいは 9iR2 のクライアントライブラリと PHP 4.3.9 以降が必要です。OCI8 2.0 を使うには、 Oracle 12c, 11g あるいは 10g のクライアントライブラリと PHP 5.2 以降が必要です。

Oracle Database と PHP が同じマシンで動いている場合は、必要なライブラリはデータベースソフトウェアの中にすべて含まれています。 PHP を別のマシンで動かしている場合は、無料の » Oracle Instant Client ライブラリを使います。

Oracle Instant Client を使うには、basic あるいは basiclite の Oracle Instant Client ZIP ファイルあるいは RPM パッケージをインストールします。PHP をソースコードからビルドする場合は、さらに sdk の ZIP ファイルあるいは devel RPM パッケージも必要です。

PHP を動かすときには、少なくとも OCI8 をビルドしたときと同じバージョン以降の Oracle ライブラリを使わなければなりません。

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 に対して必要です。 PECL にある php_oci8_12c DLL は、Oracle 12cR1 のクライアントライブラリが必要です。 Instant Client のバージョンによっては、さらに mfc71.dllmsvcr71.dll が必要になるかもしれません。


OCI8 が 9iR2 のクライアントライブラリを使っている場合は、PHP から Oracle Database 8i, 9iR2, 10g あるいは 11g に接続することができます。 OCI8 が 10gR2 のクライアントライブラリを使っている場合は、接続できるデータベースは 9iR2, 10g, 11g あるいは 12c です。 OCI8 が 11g のクライアントライブラリを使っている場合は、接続できるデータベースは 9iR2, 10g, 11g あるいは 12c です。 OCI8 が 12c のクライアントライブラリを使っている場合は、接続できるデータベースは 10gR2, 11g あるいは 12c です。


OCI8 の全機能が使えるのは、 最新バージョンの Oracle クライアントライブラリとデータベースを使っているときだけです。

add a note add a note

User Contributed Notes 4 notes

Andi,post at rueckauer dot nospam dot ch
2 years ago
The provided link to the Oracle Instant Client is not valid anymore. Visit instead.
sgfan at gmx dot net
2 years ago
I can confirm Rainer's observations and this not limited to PHP. One cannot link libopenldap with C with Oracle driver without crashing the app at runtime. Same here on HP-UX. Both won't play nice at all.
charles dot fisher at arconic dot com
8 months ago
Oracle's development package includes an ldap.h file that causes compilation attempts of PHP to fail.

For the oracle-instantclient12.2-devel 64-bit RPM, this file is found in the following path:


Rename this file to ldap.h-oracle.

After doing so, and assuming there are no other build problems, PHP will compile (even when ldap and oci are configured in the build).
Rainer Perske
3 years ago
Oracle Instant Client provides its own LDAP library that may be incompatible to the LDAP library provided by the operating system.

Segmentation faults and other errors can happen if you load an OCI8 extension into a PHP containing LDAP support or if you load a PHP module with OCI8 into an Apache server with LDAP support.

But this depends heavily on the exact versions of operating system, system LDAP library, PHP,  OCI8, and other pieces of software involved.
To Top