Pré-requis
OCI8 3.0 est incluse avec PHP 8. Elle est également disponible depuis
» PECL. Pour PHP 7, utiliser OCI8 2.2 depuis » PECL.
OCI8 requiert Oracle 10g
ou bibliothèques cliente ultérieures.
Si la base de données Oracle est sur la même machine que PHP, le logiciel
de base de données contient déjà les bibliothèques et en-têtes nécessaires.
Lorsque PHP est sur une machine différente, utiliser les bibliothèques gratuites
» Oracle Instant Client.
Pour utiliser Oracle Instant Client, installer le fichier
compressé ZIP Basic ou Basic Light de
Oracle Instant Client, le paquet RPM, ou le paquet DMG.
Lors de la compilation d'OCI8 depuis le code source, installer aussi le
SDK d'Instant Client.
Il faut exécuter PHP avec la même version ou une version plus récente des
bibliothèques clients Oracle utilisées pour construire OCI8.
Note:
L'interopérabilité standard du réseau client-serveur d'Oracle permet des
connexions entre différentes versions d'Oracle Client et Oracle Database.
Pour des configurations certifiées voir la documentation Oracle Support
ID ID 207303.1. En résumé, Oracle Client 19, 18 et 12.2 peuvent se
connecter à Oracle Database 11.2 ou supérieur. Oracle Client 12.1 peut se
connecter à Oracle Database 10.2 ou supérieur. Oracle Client 11.2 peut se
connecter à Oracle Database 9.2 ou supérieur.
Note:
Le support de toutes les fonctionnalités OCI8 n'est disponible que
lors de l'utilisation des versions les plus récentes des bibliothèques
clientes Oracle mais aussi de la base de données la plus récente.
Wilber ¶3 years ago
The OCI8 extension lets you access Oracle Database.
Use 'pecl install oci8' to install for PHP 8.1.
Use 'pecl install oci8-3.0.1' to install for PHP 8.0.
Use 'pecl install oci8-2.2.0' to install for PHP 7.
Use 'pecl install oci8-2.0.12' to install for PHP 5.2 - PHP 5.6.
Use 'pecl install oci8-1.4.10' to install for PHP 4.3.9 - PHP 5.1.
[username@hostname ~]# php -v
^ To see PHP version
sgfan at gmx dot net ¶8 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.
Rainer Perske ¶8 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.
charles dot fisher at arconic dot com ¶6 years 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:
/usr/include/oracle/12.2/client64/ldap.h
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).