Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
oci8 [Le 04/07/2007, 18:20]
193.194.132.44
oci8 [Le 10/10/2009, 05:16] (Version actuelle)
YannUbuntu
Ligne 1: Ligne 1:
-{{tag>​serveur ​reseau web sgbd}}+{{tag>​serveur ​réseau php}}
 ---- ----
  
 ====== OCI8 : extension PHP pour les connexions avec Oracle ====== ====== OCI8 : extension PHP pour les connexions avec Oracle ======
  
-===== Introduction ====== 
 OCI8 est le nom de l'​extension PHP permettant à ce langage Web de communiquer avec les bases de données Oracle de versions supérieures ou égales à 8. OCI8 est le nom de l'​extension PHP permettant à ce langage Web de communiquer avec les bases de données Oracle de versions supérieures ou égales à 8.
  
 +===== Ajout des sources logicielles =====
  
 +Il vous faut ajouter la clé Oracle dans vos sources :
 +  cd /tmp
 +  sudo wget http://​oss.oracle.com/​el4/​RPM-GPG-KEY-oracle
 +  sudo apt-key add RPM-GPG-KEY-oracle
  
 +Puis, [[:​tutoriel:​comment_modifier_sources_maj#​modifier les sources de mises à jour]] pour y ajouter le dépôt suivant :
  
 +<​file>​deb http://​oss.oracle.com/​debian unstable main non-free</​file>​
  
 +puis n'​oubliez pas de [[:​tutoriel:​comment_modifier_sources_maj#​recharger la liste des paquets]].
  
 +Vous pouvez alors installer// Oracle InstantClient//​ (contenant accessoirement la commande //​sqlplus//​).
  
-===== Récuperation des sources ===== +<note tip>Le paquet demande un minimum de 1024 Mo de swap. Il ne seront pas utilisé, mais ils sont cependant indispensable pour l'​installer.\\ Pour ajouter temporairement 1024Mo <​code>​su - 
-Pour cela, vous allez avoir besoin du dépôt de paquets Oracle dans votre fichier ​/etc/apt/​sources.list+dd if=/dev/zero of=tmpswap bs=1M count=1000 
 +chmod 600 tmpswap 
 +mkswap tmpswap 
 +swapon tmpswap</code><​/note>
  
-        deb http://oss.oracle.com/debian unstable main non-free+[[:tutoriel:​comment_installer_un_paquet|Installez les paquets]] **php-pear php5-dev build-essential** qui seront indispensables pour compiler l'​extension,​ puis le paquet **oracle-xe-client**
  
-Effectuez la commande suivante pour mettre à jour vos sources, puis installez le paquet Oracle InstantClient (contenant accessoirement la commande sqlplus).+===== Compiler et installer OCI8 =====
  
-**Attention :** Le paquet demande un minimum de 1024 Mo de swap. Il ne seront pas utilisémais ils sont cependant indispensable pour l'​installer.+Utilisez la commande ​**pecl** nouvellement installéequi permet d'​installer ​des extensions tierces à PHP : 
 +  sudo pecl install oci8
  
-Pour ajouter temporairement 1024Mo +<note help>Si le serveur est déconnecté d'​Internet,​ téléchargez l'​extension OCI8 pecl à l'​adresse suivante : http://pecl.php.net/​package/​oci8 et remplacez "​oci8"​ par "​oci8-XXXX.tgz"​ dans la commande précédente.</​note>​
-        su - +
-        dd if=/dev/zero of=tmpswap bs=1M count=1000 +
-        chmod 600 tmpswap +
-        mkswap tmpswap +
-        swapon tmpswap+
  
-        sudo apt-get update +L'​assistant vous posera une question sur l'​emplacement des bibliothèques Oracle (OCI8-LIB). Vous répondrez tout d'​abord **all**, puis il vous reposera la question et vous répondrez : 
-        sudo apt-get install ​oracle-xe-client+<​file>/​usr/​lib/​oracle/xe/​app/​oracle/​product/​10.2.0/​client</​file>​
  
-Pour éviter les erreurs genre : GPG error: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 2E2BCDBCB38A8516il faut ajouter la clé Oracle dans apt :+Puis Entrée. Enfinappuyez encore une fois sur Entrée pour confirmer. 
 +Le processus de compilation devrait alors se passer convenablement et vous informer de sa réussite.
  
-        cd /tmp +===== Configurer apache =====
-        sudo wget http://​oss.oracle.com/​el4/​RPM-GPG-KEY-oracle +
-        sudo apt-key add RPM-GPG-KEY-oracle +
-     +
-Les paquets suivants seront également indispensable pour compiler l'​extension :+
  
-        sudo apt-get install php-pear ​php5-dev build-essential+Il ne vous reste plus qu'à [[:​tutoriel:​comment_editer_un_fichier|ajouter]] cette extension dans le fichier de configuration de PHP 5 pour Apache, à savoir **/etc/php5/​apache2/​conf.d/​oracle.ini**
  
-===== Compiler et installer OCI8 ===== +<​file>​extension=oci8.so</​file>​
-Utilisez la commande nouvellement installée pecl, qui permet d'​installer des extensions tierces à PHP.+
  
-        sudo pecl install oci8+Redémarrez enfin Apache 2 : 
 +>FIXME un reload ne suffit pas ?
  
-L'​assistant vous posera une question sur l'​emplacement des bibliothèques Oracle (OCI8-LIB), à laquelle vous répondrez :+  sudo /​etc/​init.d/​apache2 restart
  
-        ​/usr/lib/oracle/xe/​app/​oracle/​product/​10.2.0/client+Vous devez également [[:​tutoriel:​comment_editer_un_fichier|ajouter]] cette extension dans le fichier de configuration de **/etc/php5/cli/php.ini** sans quoi l'​extension **oci8.so** ne sera pas prise en compte si vous exécutez un script php en ligne de commande ​
  
-Le processus ​de compilation devrait alors se passer convenablement et vous informer de sa réussite.+===== SQLPLUS par l'​interpréteur ​de commande =====
  
-===== Configurer apache =====+Pour accéder à la commande **sqlplus** directement depuis votre interpréteur de commande, [[:​tutoriel:​comment_editer_un_fichier|ajoutez dans le fichier]] **/​etc/​environment** le chemin suivant au **$PATH** : 
 +<​file>​PATH="/​usr/​local/​sbin:/​usr/​local/​bin:/​usr/​sbin:/​usr/​bin:/​sbin:/​bin:/​usr/​bin/​X11:/​usr/​games:/​usr/​lib/​oracle/​xe/​app/​oracle/​product/​10.2.0/​client/​bin"</​file>​
  
-Il ne vous reste plus qu'à ajouter cette extension dans le fichier de configuration de PHP 5à savoir ​/etc/php5/​apache2/​php.ini+Par défaut, l'installeur ne crée pas le **tnsnames.ora**. Alors[[:​tutoriel:​comment_editer_un_fichier|créez le fichier]] **/etc/tnsnames.ora** à la main, par exemple comme ceci : 
 +<​file>​ 
 +   ​EXEMPLE = 
 +   ​(DESCRIPTION = 
 +      (ADDRESS_LIST = 
 +         ​(ADDRESS = (PROTOCOL = TCP)(HOST = dbserveur-distant )(PORT = 1521)) 
 +      ) 
 +      (CONNECT_DATA = 
 +         ​(SERVICE_NAME = EXEMPLE) 
 +      ) 
 +   ) 
 +</​file>​
  
-        extension=oci8.so+faites un test :
  
-Redémarrez enfin Apache 2 :+  sqlplus login_du_serveur_distant/​mot_de_passe_du_serveur_distant@EXEMPLE
  
-        sudo /​etc/​init.d/​apache2 restart 
- 
-===== SQLPLUS par l'​interpréteur de commande ===== 
-Pour accéder à la commande sqlplus directement depuis votre interpréteur de commande, ajoutez au fichier /​etc/​environment le chemin suivant au $PATH : 
-   ​PATH="/​usr/​local/​sbin:/​usr/​local/​bin:/​usr/​sbin:/​usr/​bin:/​sbin:/​bin:/​usr/​bin/​X11:/​usr/​games:/​usr/​lib/​oracle/​xe/​app/​oracle/​product/​10.2.0/​client/​bin"​ 
-\\ 
 ---- ----
- 
-//​Contributeurs:​ // 
  • oci8.1183566040.txt.gz
  • Dernière modification: Le 10/07/2007, 10:19
  • (modification externe)