Fonctionne sous: IBM AIX 5.2
Les librairies OCI8 de PHP permettent de se connecter à une base de données Oracle depuis un serveur web comme Apache.
1) Prérequis : installer bos.compat.termcap
:
Installer le package bos.compat depuis le CD 1 de AIX 5.2. On peut simplement
copier bos.compat depuis le CD dans un
répertoire du serveur et l’installer avec smit.
2) Installer le package amp (Apache Mysql PHP)
:
Informations générales utiles sur :
http://www-941.ibm.com/collaboration/wiki/display/WikiPtype/aixopen
Télécharger le package complet pour AIX 5.2 depuis le site de pware :
ftp://ftp.hvcc.edu/pub/pware/aix52/bundles/amp/amp.pware-bundle.tar.gz
Gunzipper, détarer dans un répertoire et installer tous les paquets avec
smit.
3) Mettre à jour httpd.conf
Sous /opt/pware/conf, modifier httpd.conf comme il suit :
a) Ajouter les lignes :
LoadModule php5_module modules/libphp5.so
et :
<IfModule mod_php5.c>
AddType application/x-httpd-php .php .phtml .php3
AddType application/x-httpd-php-source .phps
</IfModule>
b) Modifier :
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
en :
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
c) Modifier :
User daemon
Group daemon
en :
User daemon
Group staff
On peut alors faire un /opt/pware/bin/apachectl start pour verifier que Apache
démarre bien.
On peut éventuellement créer un petit fichier index.php avec un phpinfo() à
l’intérieur pour vérifier que PHP fonctionne bien.
/opt/pware/bin/apachectl stop
4) Créer un fichier tnsnames.ora
Le placer dans le répertoire spécifié par $TNS_ADMIN du .profile de root.
5) Mettre à jour le .profile de root :
Ajouter /opt/pware/bin dans $PATH
Ajouter /opt/pware/instantclient_10_2 dans $LIBPATH
(Sous AIX, LIBPATH est utilisé en lieu et place de LD_LIBRARY_PATH)
Ajouter:
export TNS_ADMIN=/opt/pware/instantclient_10_2
export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
Se déconnecter et se reconnecter de root
Se créer une petite page PHP testoci8.php et
la mettre dans le répertoire htdocs.
apachectl start
Test de connexion. http://MON_SERVEUR/testoci8.php
Si vous obtenez une erreur ORA-12737, il faudra effectuer un mise à jour de la
version basic light vers basic.
apachectl stop
6) Mise à jour vers l’instant client basic
:
Amp est installé avec les librairies instant client basic light, qui ne gère
qu’une quantité limitée de NLS_LANG (client) et CHARACTER SET (serveur).
SQL> select * from nls_database_parameters where parameter IN
('NLS_LANGUAGE','N LS_TERRITORY','NLS_CHARACTERSET');
Si votre serveur Oracle a un character set un peu exotique (genre
FRENCH_FRANCE. WE8ISO8859P15 ;-)), vous obtiendrez une erreur ORA-12737
lors du test de connexion testoci8.php.
Télécharger les librairies instant client basic chez Oracle:
http://www.oracle.com/technology/tech/oci/instantclient/index.html
Prenez la verion pour AIX5L qui vous convient (bootinfo –k).
Dézippez-la dans un répertoire.
Copiez les fichiers de ce répertoire dans le répertoire
/opt/pware/instantclient_10_2 en écrasant ceux qui s’y trouvent déjà.
apachectl start
Test de connexion. http://MON_SERVEUR/testoci8.php
7) Démarrage automatique au boot:
Créer un script /opt/pware/bin/demarre_apache.sh
######################
#!/bin/ksh
PATH=$PATH:/opt/freeware/bin
export PATH
### Pour OCI8 PHP ###
LIBPATH=/usr/lib:/opt/pware/instantclient_10_2
export LIBPATH
TNS_ADMIN=/opt/pware/instantclient_10_2
export TNS_ADMIN
/opt/pware/bin/apachectl start
exit
######################
Le rendre exécutable.
Ajouter son lancement dans /etc/inittab :
apache:2:once:/opt/pware/bin/demarre_apache.sh
Laissez-moi un commentaire si cet article vous a été utile.
Nixman