sergio Apprentice
Joined: 11 Jun 2002 Posts: 265 Location: Clermont Ferrand, France
|
Posted: Thu Sep 26, 2002 8:21 am Post subject: Apache, Oracle et PHP |
|
|
Pour ceux que çà interesse j'ai installé un serveur apache avec PHP et accès vers une base de données Oracle sur ma Gentoo 1.2.
Après avoir regarder un peu dans les forums anglais j'ai trouvé une façon de procèder vraiment simple et efficace, je vous la livre :
- Installer le client oracle (ou le total si la base doit se trouver sur le même serveur)
Aller sur le site www.oracle.com et récuperer la version d'oracle appropriée (la 8.1.7) pour linux
Créer un groupe "dba", un utilisateur "oracle" menbre des groupes "dba", "users" et "wheel"
Se connecter sous l'utilisateur "oracle"
Exporter les variables suivantes :
Code: | [list]
export DISPLAY=:0.0
export ORACLE_HOME=/home/oracle/[votre répertoire d'install]
export ORACLE_BASE=/home/oracle/oraInventory
export ORACLE_SID=oralin
[/list] |
Lancez (en tant qu'utilisateur oracle) votre serveur X (l'installeur oracle ne fonctionne qu'en mode graphique)
Décompressez ensuite l'archive récupérée sur le site d'oracle dans /home/oracle et placez-vous dans le répertoire obtenu
Lancez le script "runInstaller.sh" et suivez les indications (n'oubliez pas de vérifier que le répertoire d'install correspond bien à la celui spécifié par la variable d'environnement ORACLE_HOME
Lors du choix des composants choisissez d'installer (ORACLE OCI8 support) avec le reste...
Terminez l'install, et configurez votre (vos) "local net service name" avec l'utilitaire "netca" qui se lance normalement à la fin de l'install
Lorsque la connection vers la base de données est testée et qu'elle fonctionne s'est fini
Modifiez votre configuration comme suit
Creéz un fichier dans le répertoire /etc/env.d que vous appelerez "09oracle" et qui contiendra les lignes suivantes :
Code: |
DISPLAY=:0.0
ORACLE_BASE=/home/oracle/oraInventory
ORACLE_HOME=/home/oracle/software
ORACLE_SID=oralin
PATH=/home/oracle/software/bin
ROOTPATH=/home/oracle/software/bin
|
Redémarrez ensuite la station...
Installez apache
Modifez votre fichier /etc/make.conf pour que la variable USE contiennne les éléments suivants : USE="oci8 .... etc..."
lancer : Code: |
emerge rsync
emerge apache
emerge php
emerge mod_php
emerge clean
|
Vérifiez ensuite que le fichier /etc/conf.d/apache contient bien la ligne suivante APACHE_OPTS="-D PHP4 -D SSL... etc
Vérifiez la présence dans le fichier /etc/apache/conf/apache.conf des lignes suivantes :
Code: |
<IfDefine PHP4>
LoadModule php4_module extramodules/libphp4.so
</IfDefine>
....
<IfDefine PHP4>
AddModule mod_php4.c
</IfDefine>
.....
Include conf/addon-modules/mod_php.conf
|
N'oubliez pas d'ajouter apache à vos scripts de démarrage avec "rc-update add apache default" et de démarrer apache avant de tester avec une page PHP que tout marche bien...
Voici ma page de test PHP (oracletest.php) :
Code: |
<?php
//Connection à la base
$connection = ocilogon("mon_username","mon_password","ma_base");
//LECTURE D'UN TABLE
$c_prods_vege = OCIParse ($connection, "SELECT * from PRODUCTIONS_VEGETALES");
OCIExecute ($c_prods_vege);
while (OCIFetchInto ($c_prods_vege, $prods_vege))
{
}
// Récupére le nombre d'enregistrement
$nrows = OCIRowCount($c_prods_vege);
echo "Nombre de lignes dans la table : ";
print ($nrows);
?>
|
Il va sans dire qu'il faut avoir une base de données en face avec au moins une table dans celle-ci...
Bon tests à tous !! |
|