> Tech > Mieux utiliser PHP avec Zend Server

Mieux utiliser PHP avec Zend Server

Tech - Par Erwin Earley - Publié le 29 janvier 2013
email

Coup d'oeil sur Zend Server for IBM i.

Mieux utiliser PHP avec Zend Server

L’article de ce mois est dédié à Craig Johnson, directeur chez IBM des produits logiciels Power pour IBM i, PHP et MySQL, victime d’un accident de voiture en janvier 2010. J’ai eu le privilège de collaborer étroitement avec Craig sur ces technologies. Et je tiens à dire que nous n’aurions pas la possibilité d’appliquer des solutions open source dans nos sites IBM i sans son vigilant leadership. Craig me présentait souvent comme le cerveau derrière le produit, mais, en réalité, il était le moteur de nombreuses initiatives pour la plate-forme IBM i, y compris l’adoption de l’open source, d’abord avec Linux puis avec PHP et MySQL. J’aimerais partager avec vous quelques réflexions à propos de Craig.

Aux premiers jours de Linux, puis de PHP et MySQL sur la plate-forme IBM i, Craig et moi fréquentions divers salons comme LinuxWorld, ZendCon, et la conférence MySQL. J’étais toujours étonné par sa décontraction à ces occasions et à quel point il accordait de l’importance à quiconque s’arrêtait sur notre stand : que ce soit un client IBM i ou un étudiant intéressé par les différentes technologies, Craig engageait une vraie conversation. L’un de mes meilleurs souvenirs le concernant remonte à l’une des premières conférences LinuxWorld qui se tenait à San Francisco. Linux sur l’iSeries venait juste d’être disponible et nous le présentions à la conférence. Nous fûmes étonnés de remporter le trophée Best of Show pour les possibilités de virtualisation de la plate-forme. Ce soir-là, nous nous rendîmes à Fisherman’s Wharf et bûmes quelques Irish coffees (l’un des drinks favoris de Craig) pour célébrer l’événement. Je vois encore Craig se balançant sur le côté du tramway, en route vers notre hôtel, criant à la cantonade “On a gagné !”.

Sous l’impulsion de Craig, j’ai eu la chance de sillonner la planète pour parler de l’open source et de travailler avec des clients intéressés sur la plate-forme IBM i. Si quelqu’un avait des doutes sur le bien-fondé de mon action, Craig était toujours là pour donner la bonne réponse et convaincre chacun que j’étais à la hauteur du job. Je suis dans ce business depuis 30 ans et je n’ai jamais rencontré quelqu’un qui fasse autant confiance à ses collaborateurs. Je ne l’ai jamais entendu critiquer quiconque. Nul doute que Craig va nous manquer, et d’ailleurs il nous manque déjà. L’une des dernières initiatives à laquelle il avait participé était le lancement de Zend Server for IBM i. Je vous invite à y jeter un coup d’oeil.

Zend a lancé Zend Server pour la plate-forme IBM i. C’est en quelque sorte une fusion des produits Zend Core et Zend Platform. Il est proposé en deux versions : Zend Platform Community Edition et Zend Platform Enterprise Edition. (Zend Platform Community Edition est disponible ici)

Zend Server améliore nettement l’usage de PHP sur IBM i. À son niveau de base, Zend Server prend en charge le langage PHP, mais aussi Zend Frameworks, la connectivité à la base de données, et les extensions de débogage. Zend Server inclut PHP 5.3.

Tout comme Zend Core, Zend Server Community Edition est fourni gratuitement aux clients IBM i, et Zend Server Enterprise Edition passe par un abonnement direct auprès de Zend. Il continue à permettre l’intégration avec Zend Studio pour des fonctions telles que la surveillance et le diagnostic des applications ; et Zend Server supporte les mises à jour et les correctifs du logiciel.

On peut considérer Zend Server Community Edition comme le remplacement logique de Zend Core, et Zend Server Enterprise Edition comme le remplacement logique de Zend Platform. Zend Server Enterprise Edition inclut toutes les fonctions de Community Edition, mais aussi :

•    Pont 5250 
•    Supervision des applications
•    Mise en cache des pages 
•    Suivi (tracing) du code
•    File d’attente des jobs

Voyons de plus près le côté installation native et performance (via FastCGI) de Zend Server. Si vous avez examiné Zend Core sur la plate-forme IBM i, vous connaissez bien l’utilisation du Portable Application Solution Environment (PASE) pour mettre en oeuvre un serveur web Apache et le moteur runtime PHP. Cette architecture s’explique, en partie, parce que le plug-in Apache a besoin du support PHP. Il faut bien admettre que la mise à l’oeuvre du serveur web à deux niveaux a rendu la configuration quelque peu confuse. Zend Server élimine cette confusion grâce à une installation native qui tire parti du serveur web ILE Apache. En outre, Zend Server supporte aussi FastCGI, ce qui améliore nettement la performance par rapport à la configuration Zend Core. Parmi les autres nouveautés de Zend Server, on retiendra le suivi du code (tracing) pour résoudre les problèmes plus rapidement, la file d’attente des jobs, et la mise en cache des pages.

L’un des avantages de Zend Server est sa présence aux côtés de Zend Core. Vous pouvez donc évaluer Zend Server sans mettre en péril l’environnement PHP de production. Par défaut, Zend Server est configuré pour des requêtes sur le port 10088, et donc les requêtes destinées au port 89 (le port Zend Core par défaut) continueront à être traitées par Zend Core. Vous pouvez ainsi tester votre code PHP de production et comparer la performance à celle de Zend Core, puis changer simplement le port de destination au moment de mettre Zend Server en production.

Zend Server offre une nouvelle interface unifiée pour tous les contrôles de configuration Zend et assure l’homogénéité de la plate-forme dans l’interface. Dans l’environnement Apache, les changements incluent une instance de serveur Apache unique (au lieu du couple ILE Apache et PASE Apache). En outre, PHP dans Zend Server utilise FastCGI, développé par IBM. L’interface de configuration comporte un bouton restart qui vous dispense de recourir à l’écran vert pour redémarrer l’environnement après un changement de configuration.

L’optimiseur, inclus dans Zend Server Community Edition, gère un cache d’opcode qui loge le PHP bytecode en mémoire cache pour réduire l’accès disque. Et il optimise les fragments de code pour améliorer l’exécution. Un nouveau jeu d’API est fourni pour la mise en cache des données, des résultats des requêtes sur la base de données, des appels de service web et des éléments de sortie. La mise en cache des pages porte sur une réponse HTTP complète — elle est configurée à partir de l’interface utilisateur (UI) sans nécessiter aucun changement du code PHP. Le choix entre une réponse HTTP directe ou en cache dépend des paramètres de la requête ou de la session utilisateur.

Zend Server améliore nettement PHP sur la plate-forme IBM i. J’encourage les sites IBM i qui ont déjà PHP à examiner cette nouvelle offre. Quant à ceux qui ne pratiquent pas encore PHP, c’est peut-être le moment.

Si vous voulez partager votre expérience sur ce sujet, n’hésitez pas à m’envoyer un courriel à opensolutions@askerwin.com.

Téléchargez gratuitement cette ressource

5 clés de supervision Multi Cloud

5 clés de supervision Multi Cloud

A l’heure du Software Defined Everything (SDx) la conception et l’exploitation de logiciels sont plus complexes que jamais, ce nouvel eBook décrit les éléments clés à prendre en compte lors de la transition vers les technologies, les plates-formes et les éléments logiciels modernes afin de tirer tout le potentiel des solutions Multi cloud d'entreprise.

Tech - Par Erwin Earley - Publié le 29 janvier 2013