Mettre en oeuvre php sur ISeries

A partir de la V5R4 il est possible de faire tourner php sur ISeries avec PASE (Portable Application Solutions Environnement) et HHTP Server Apache for ISeries.

Une autre solution consite à  installer PHP sur un LPAR Linux. Cette solution n’est pas présentée dans cet article.

Pour accèder à  votre base de données DB2/400, vous utiliserez les routines ODBC :
Pour un PC le plus simple est d’installer Client Access qui contient un driver ODBC pour l’AS/400 (les routines ODBC sont présentes en natif sous OS/400 sous le nom de CLI).

Installer PHP sur ISERIES

 Téléchargez les sources depuis http://www.php.net et compilez avec un compilateur AIX, ou téléchargez une version déja compilée pour cela visitez ces 2 sites :

— http://www.i5php.net/

— http://aixpdslib.seas.ucla.edu/index.html

 Décompressez et restaurer les fichiers dans /QopenSys/php.

Paramétrer le serveur Apache

Pour que le serveur Apache Web reconnaisse les fichiers PHP, vous devez mettre à  jour le fichier de configuration (httpd.conf) du serveur Web.


ScriptAlias /php-bin/ /usr/local/php/bin
AddType application/x-httpd-php .php
Action application/x-http-php /php-bin/php

Pour configurer votre serveur Apache, vous pouvez utiliser l’assistant accessible par http://monAS400:2001/HTTPAdmin (remplacez monAS400 par votre ISERIE).
Attention le serveur *ADMIN doit être actif sur l’AS400 (à  lancer par STRTCPSVR).

 Après avoir sélectionné (ou créé) le serveur Apache que vous voulez utilisez sélectionner sous l’onglet Tools l’option « Edit Configuration ».
Cela permet d’éditer le fichier de configuration httpd.conf de votre serveur Apache.

Ce fichier est stocké dans l’IFS, il est possible de l’éditer directement avec WRKLNK puis EDTF.

 Ajoutez les directives suivantes à  votre fichier de configuration :

— Pour notre exemple le serveur se nomme srvphp et tourne sur le port 9080.

— Les sources php sont stockés sous /www/srvphp/ex et requiert un logging sur la machine hôte (votre ISeries).


# définition d’une directory avec obligation de se logguer
# les sources php sont placés ici

Order Allow,Deny
Allow From all
Require valid-user
UserID %%CLIENT%%
PasswdFile %%SYSTEM%%
AuthType Basic
AuthName « Connexion ISeries »

ScriptAlias /php-bin/ /QOpenSys/php/bin/
# définition d’un nouveau type mime
AddType application/x-httpd-php .php
# forcer l’exécution pour un type donné
Action application/x-httpd-php /php-bin/php

CGIConvMode %%BINARY/BINARY%%
Options +ExecCGI
order allow,deny
Allow From all

Exemple N°1 :

Cet exemple (query.php) propose de saisir une requête sql dans un formulaire puis d’afficher le résultat. Il sera accessible par http://monAS400:9080/query.php
query.php

Exemple N°2 :
Cet exemple (wrkactjob.php)ne fonctionne qu’avec la version PASE de PHP.
Il utilise la commande « system » qui permet de rediriger une commande AS400 vers la sortie standard (stdout).
Cet exemple utilise la commande WRKACTJOB.
Il sera accessible par http://monAS400:9080/wrkactjob.php

html>

Travaux actifs

PHP Executer WRKACTJOB avec PASE


« ;
print « 

« ;
print « 

";
print $line;
print "

« ;
print « 

« ;
while ($line = strtok(« \n »))

print « 

« ;
print « 

$line

« ;
print « 

« ;

print « 

« ;
?>


Print Friendly, PDF & Email

Attachments