L’extension OCI8 permet ajoute à php des fonctionnalités permettant de communiquer avec une base Oracle.
OCI8 n’est pas fourni de base avec php, il convient de l’installer manuellement.
Avant toute chose, nous allons installer apache-php :
yum install php php-devel httpd /etc/init.d/httpd start
Nous créons ensuite un fichier /var/www/html/phpinfo.php contenant :
<?php
phpinfo();
?>
Cette page est donc accessible depuis l'adresse http://127.0.0.1/phpinfo.php
Il faut ensuite télécharger et décompresser l'extension oci8 pour php :
wget http://pecl.php.net/get/oci8-1.4.5.tgz tar zxf oci8-1.4.5.tgz
Pour installer l'extension OCI8, deux cas de figures peuvent se présenter. Soit la machine possède déjà un serveur oracle configuré (cf article sur l'installation d'un serveur oracle) soit la machine ne possède pas de serveur oracle local et devra accéder à un serveur oracle distant.
Si un serveur oracle local est installé :
cd oci8-1.4.5 phpize ./configure --with-oci8=shared,$ORACLE_HOME make make install
Si aucun serveur oracle n'est présent sur la machine :
Il faut alors installer oracle_instantclient. Nous choisirons la version 11.2-basic et 11.2-devel en rpm depuis cette page
rpm -ivh oracle-instantclient11.2-basic-11.2.0.2.0.i386.rpm rpm -ivh oracle-instantclient11.2-devel-11.2.0.2.0.i386.rpm
Nous pouvons maintenant compiler l'extension OCI8 :
cd oci8-1.4.5 phpize ./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib make make install
Configuration de php
Cette étape est commune aux deux méthodes d'installation précédentes.
Ajouter au fichier /etc/php.ini la ligne :
extension=oci8.so
et redémarrer le serveur apache :
/etc/init.d/httpd restart
Maintenant, en allant sur la page http://127.0.0.1/phpinfo.php, vous devez avoir une section oci8 de ce style :