Le langage PHP (Hypertext Preprocessor) est devenu en quelques années d'existence, le langage de programmation de sites web dynamiques le plus populaire à coté de Java et des JSP (Java Server Page).
De même que le serveur web Apache, la plateforme Linux et le gestionnaire de base de données MySQL, le langage PHP s'appuie sur un logiciel Open Source, libre et gratuit. Il demeure la solution la plus économique pour développer des applications Internet à un coût minimum.
PHP est un langage de script fonctionnant essentiellement côté serveur. Les scripts PHP, à l'instar de l'ASP (Active Server Pages) de Microsoft ou de NetData sur iSeries, sont incorporés directement avec le balisage HTML, au sein d'une page Web.
Associé à MySQL, le langage PHP permet de développer des applications web puissantes reliées si nécessaire à des bases de données.
Empruntant des concepts à des langages
tels que Perl ou C, PHP est un langage de script capable de fonctionner sur
n'importe quelle plateforme. En effet, chacun des systèmes d'exploitation
de Microsoft, Unix, Linux ou encore Mac OS X, peut devenir un support pour des
applications Internet écrites en PHP en accueillant un module spécifique
s'intégrant au serveur web en place (souvent Apache)
En outre, le langage PHP possède de nombreux outils facilitant sa connectivité
à des bases de données comme non seulement son SGBDR (Système
de Gestion de Bases de Données Relationnelles) de prédilection,
MySQL, mais aussi quasiment tous les autres tels que DB2, Sybase, Oracle, ou
SQL Server.
Installation :
Ce produit installe en fait un serveur Apache
sous Pase qui tourne sur un autre port (8000, modifiable) , il faut alors utiliser
une directive PROXY pour rerouter les requêtes vers cet autre serveur
(depuis le serveur Apache "natif" de I5/OS).
L'intéret du serveur Apache2 sous Pase (c'est véritablement
celui d'UNIX) pour Zend, c'est de réutilsier les routines existantes,
particulièrement
celles permettant de lancer PHP en mode module, ce qui offre les meilleures
performances et le debug avec ZendStudio.
1/ vérifiez que vous avez les logiciels sous licence suivants :
Code (option) | Produit |
5722SS1 (33) | PASE |
5722SS1 (30) | Qshell |
5722SS1 (13) | System Openness Includes |
5722SS1 (34) | Digital Certificate Manager |
5733SC1(*base) | IBM Portable Utilities For I5/OS |
5733SC1 (1) | OpenSSH ,OpenSST,Zlib |
Le répertoire /usr/local doit exister (créez le, s'il le faut, par MKDIR) et ne doit pas être un lien symbolique
2/ Téléchargez
le fichier zippé sur le site de ZEND, dézippez et transférez
(en binaire) via FTP le SAVF ZCOREPROD
dans QGPL
3/ Passez ensuite la commande RSTLICPGM
LICPGM(1ZCORE5) DEV(*SAVF) SAVF(QGPL/ZCOREPROD)
cela doit vous afficher l'écran de licence suivant :
La version définitve (GA) porte le
N° V1R4M1
Puis vous entrerez un mot de passe pour l'administrateur
Ensuite vient la phase de connexion au serveur Zend (pour les mises à
jour), vous devez avoir créé un compte sur le site
de Zend.
cela va ajouter un poste au scheduler
I5/OS (WRKJOBSCDE)
Les dernières version vous demandent,
si vous souhaitez installer MYSQL (version 5.0)
Puis
L'installation a modifié QSYSWRK pour ajouter un poste de routage, et vous pouvez lancer le menu GO ZENDCORE/ZCMENU
Cette installation contient une version d'Apache pour Unix tournant sur le port 8000(Zend indique que cela permet d'utiliser php en mode module, ce qui est plus rapide). cela a probablement permis aussi la réutilisation du debuger de ZendCore. Pour modifier cette instance, particulièrement le port 8000, voyez /usr/local/Zend/apache2/conf/httpd.conf
pour lancer manuellement ce
serveur, utilisez le menu (ZCMENU) ou bien (depuis QP2TERM)
/usr/local/zend/apache2/bin/apachectl
-k start | stop
ou bien, encore, placez dans un CL :
SBMJOB CMD(CALL PGM(QP2SHELL)
PARM('/usr/local/Zend/apache2/bin/apachectl' '-k' 'start'))
JOB(APACHE2) JOBQ(QUSRNOMAX [par exemple)] )
La version 1.4.1 propose de nouveaux services accessibles depuis
le menu ZCAMENU (option 5 du précédent)
Dont le lancement
du sous système Zend
Ceci dit l'installation du
produit a ajouté un travail à démarrage automatique
à QSYSWRK (travail ZC_STR_SBS utilisant la Jobd ZCOREJOBDX ) qui
démarre le sous système Zend.
Des services sont lancés automatiquement dans le sous système, particulièrement le serveur Apache/Unix sur le port 8000 et un travail I5_COMD faisant tourner un programme EASYCOMD (origine AURA équipement) correspondant au "I5 PHP API Toolkit" qui contient des API spécifiques à l'AS/400, proposant :
i5_program_prepare, i5_program_call, i5_program_close
i5_command, i5_cmdget
i5_get_system_value
i5_error, i5_errormsg
Pour
plus de détai, voyez la documentation à :
http://www.zend.com/content/download/1842/11547/file/Zend_Core_User_Guide_i5OS.pdf
Attention, si vous utilisez ce toolkit,
vos pages ne sont plus "portables" sur un autre OS (Windows
ou Linux)
Cette installation a aussi
créé une
instance APACHE/UNIX, pilotée par le menu ZCAMENU puis une instance APACHE NATIVE (nommée ZENDCORE et qui est lancée dans QHTTPSVR par la commande STRTCPSVR *HTTP ) |
![]() |
Vous pouvez modifier cette instance, si vous n'avez pas actuellement de serveur APACHE
pour modifier la configuration (/www/zendcore/conf/httpd.conf), directive listen *:89 et remplacer par le port 80
ou bien ajouter à votre serveur apache existant :
puis
dont vous devez vous inspirer pour completer votre
instance de production, par exemple :
ProxyPassReverse /core http://localhost:8000/
permettant d'accèder à la racine du nouveau site
et donc un accès au coeur du produit
Indiquez ici, le
mot de passe saisi lors de l'installation
et voilà !
Avec cette version, MYSQL, n'est pas activé par défaut,
il faut modifier php.ini (dans /usr/local/Zend/core/etc)
et enlever le caractère ; (qui commente une ligne) devant mysql.so
et mysqli.so
Zend Studio propose un outil de debug,
en dialogue direct avec le serveur ZendCore sur le I5 (ou AS400)
Demandez la liste des serveurs PHP, afin d'en créer un (ne travaiillez pas avec le serveur par défaut qui est local):
Indiquez ici les coordonnées directes du serveur Apache
de ZendCore (celui tournant sous PASE sur le
port 8000, donc)
Puis, lancez le debug.
Pour plus de détails sur Zend Core , voyez :
Il ne vous reste plus qu'à écrire vos pages PHP, Voyez les éditeurs disponibles
puis voyez s'il le faut l'initiation au
langage., enfin l'accès aux bases de données (Sur
iSeries
ou en plus MYSQL),