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édentesRévision précédente
Prochaine révision
Révision précédente
oci8 [Le 06/02/2008, 09:39] 10.0.0.100, 81.80.253.126oci8 [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 
-        deb http://oss.oracle.com/debian unstable main non-free +mkswap tmpswap 
- +swapon tmpswap</code></note>
-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 +
  
 +[[: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**
  
 ===== 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éconnecter d'Internet, télécharger l'extension OIC8 pecl à l'adresse suivante: http://pecl.php.net/package/oci8 et remplacer "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.
Ligne 58: Ligne 44:
 ===== 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 [[: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 90: 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: //