debian + php5 + oracle (oci8)

Dans ce post, nous allons ajouté le support d’oci8 dans php5 sur debian squeeze ou 6. Cette extension nous permet de connecter php à une base de données Oracle 11g, 10g, 9i et 8i . Il y a beaucoup d’autre manière d’y arriver mais celle -ci est la plus simple et rapide.

Ajouter ces lignes dans votre /etc/apt/sources.list :

deb http://oss.oracle.com/debian unstable main non-free

Ajouter la clé gpg du mirroir

wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | apt-key add -

Lancer la mise à jour

aptitude update

Installer le client et les packages nécessaires

aptitude install oracle-xe-client php-pear php5-dev build-essential unzip

Telecharger l’instantclient basic et le sdk à l’adresse

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

J’ai pris les fichiers :

  • instantclient-basiclite-linux32-11.2.0.1.zip
  • instantclient-sdk-linux32-11.2.0.1.zip

Lancer les commandes suivantes dans le répertoire où vous avez téléchargé l’instantclient:

mkdir -p /usr/lib/oracle/xe/app/oracle/product/10.2.0/instantclient/sdk
unzip instantclient-basiclite-linux32-11.2.0.1.zip
unzip instantclient-sdk-linux32-11.2.0.1.zip
cp -rf instantclient_11_2/* /usr/lib/oracle/xe/app/oracle/product/10.2.0/instantclient/

Installation et compilation de l’oci8 :

cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/instantclient
ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so
pecl install oci8

Entrer la ligne suivante :

instantclient,/usr/lib/oracle/xe/app/oracle/product/10.2.0/instantclient

Si la compilation s’est bien passée, nous allons configurer php à utiliser l’extension oci8 :

echo "extension=oci8.so" > /etc/php5/apache2/conf.d/oci8.ini

ou

echo "extension=oci8.so" > /etc/php5/cli/conf.d/oci8.ini

Normalement c’est la même chose si vous avez php5-cli et libapache2-mod-php5 car ça écrit toujours dans le répertoire /etc/php5/conf.d . On peut tester pour php5-cli en lancant :

php -i | grep oci

Chez moi ça donne :

/etc/php5/cli/conf.d/oci8.ini,
oci8
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20

Une réflexion sur “debian + php5 + oracle (oci8)

  1. Pingback: Matthieu | Blog » Enabling “swap” in an OpenVZ container

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s