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 11/08/2008, 15:10]
86.65.231.203, 127.0.0.1
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//​).
  
 +<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 -
 +dd if=/​dev/​zero of=tmpswap bs=1M count=1000
 +chmod 600 tmpswap
 +mkswap tmpswap
 +swapon tmpswap</​code></​note>​
  
-===== Récuperation des sources ===== +[[: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**
-Pour cela, vous allez avoir besoin du dépôt de paquets Oracle dans votre fichier /​etc/​apt/​sources.list +
- +
-        deb http://​oss.oracle.com/​debian unstable main non-free +
- +
-Effectuez la commande suivante pour mettre à jour vos sources, puis installez le paquet Oracle InstantClient (contenant accessoirement la commande sqlplus). +
- +
-**Attention ​:** 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 +
-        su - +
-        dd if=/dev/zero of=tmpswap bs=1M count=1000 +
-        chmod 600 tmpswap +
-        mkswap tmpswap +
-        swapon tmpswap +
- +
-        sudo apt-get update +
-        sudo apt-get install oracle-xe-client +
- +
-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 2E2BCDBCB38A8516,​ il faut ajouter la clé Oracle dans apt : +
- +
-        cd /tmp +
-        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 +
- +
- +
- +
  
 ===== Compiler et installer OCI8 ===== ===== Compiler et installer OCI8 =====
-Utilisez la commande nouvellement installée pecl, qui permet d'​installer des extensions tierces à PHP. 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 suivante. 
  
-        ​sudo pecl install oci8+Utilisez la commande **pecl** nouvellement installée, qui permet d'​installer des extensions tierces à PHP : 
 +  ​sudo pecl install oci8
  
-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 :+<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>​
  
-        ​/​usr/​lib/​oracle/​xe/​app/​oracle/​product/​10.2.0/​client+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 : 
 +<​file>​/​usr/​lib/​oracle/​xe/​app/​oracle/​product/​10.2.0/​client</​file>​
  
 Puis Entrée. Enfin, appuyez encore une fois sur Entrée pour confirmer. Puis Entrée. Enfin, appuyez encore une fois sur Entrée pour confirmer.
 Le processus de compilation devrait alors se passer convenablement et vous informer de sa réussite. Le processus de compilation devrait alors se passer convenablement et vous informer de sa réussite.
- 
- 
  
 ===== Configurer apache ===== ===== Configurer apache =====
  
-Il ne vous reste plus qu'à ajouter cette extension dans le fichier de configuration de PHP 5, à savoir /​etc/​php5/​apache2/​php.ini+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**
  
-        ​extension=oci8.so+<​file>​extension=oci8.so</​file>​
  
 Redémarrez enfin Apache 2 : Redémarrez enfin Apache 2 :
 +>FIXME un reload ne suffit pas ?
  
-        ​sudo /​etc/​init.d/​apache2 restart +  ​sudo /​etc/​init.d/​apache2 restart
- +
- +
-Vous devez également 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 depuis une ligne de commande du type  +
-        php monfichier.php +
- +
-        extension=oci8.so +
- +
- +
- +
- +
- +
  
 +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 ​
  
 ===== SQLPLUS par l'​interpréteur de commande ===== ===== 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"​ 
-\\ 
- 
- 
-Par default, l'​installeur ne crée pas le tnsnames.ora. Alors, creez /​etc/​tnsnames.ora à la main, par exemple comme ceci: 
  
 +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>​
  
 +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 =    ​EXEMPLE =
    ​(DESCRIPTION =    ​(DESCRIPTION =
Ligne 102: Ligne 71:
       )       )
    )    )
 +</​file>​
  
 +faites un test :
  
-faites un test +  ​sqlplus login_du_serveur_distant/​mot_de_passe_du_serveur_distant@EXEMPLE
- +
-    ​sqlplus login_du_serveur_distant/​mot_de_passe_du_serveur_distant@EXEMPLE +
- +
- +
  
 ---- ----
- 
-//​Contributeurs:​ // 
  • oci8.1218460203.txt.gz
  • Dernière modification: Le 11/08/2008, 15:11
  • (modification externe)