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
[...] http://randrianiriana.wordpress.com/2010/08/25/debian-php5-oracle-oci8/ [...]
Matthieu | Blog » Enabling “swap” in an OpenVZ container
24/03/2012 à 2:32