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