PHP - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Différentes plates-formes

Un serveur Web en architecture trois tiers est composé d'un système d'exploitation, un serveur HTTP, un langage serveur et enfin un système de gestion de base de données (SGBD), cela constituant une plate-forme.

Dans le cas de PHP comme langage serveur, les combinaisons les plus courantes sont celles d'une plateforme LAMP (pour Linux Apache MySQL PHP) et WAMP (Windows Apache MySQL PHP). Une plate-forme WAMP s'installe généralement par le biais d'un seul logiciel qui intègre Apache, MySQL et PHP, comme par exemple EasyPHP, VertrigoServ, WampServer ou UwAmp. Il existe le même type de logiciels pour les plates-formes MAMP (Mac OS Apache MySQL PHP), à l'exemple du logiciel MAMP.

Il existe d'autres variantes, par exemple les plates-formes LAPP (le M de MySQL est remplacé par le P de PostgreSQL) ou encore le logiciel XAMPP (Apache MySQL Perl PHP ; le X indique que le logiciel est multiplate-forme), un kit de développement multiplate-forme.

On peut décliner une grande variété d'acronymes sous cette forme. Des confusions peuvent parfois exister entre la plate-forme en elle-même et le logiciel permettant de l'installer, si elles ont le même nom. Il faut également remarquer que la grande majorité des logiciels « tout en un » sont destinés au développement d'applications Web en local, et non à être installés sur des serveurs Web. Une exception à cette règle est peut-être la gamme des produits distribués par Zend Technologies, notamment Zend Core et Zend Server qui sont prévus pour fonctionner aussi bien en environnement de développement que de production.

Quelques exemples d'application

  • Wiki (MediaWiki, WikiNi, DokuWiki...)
  • forum (phpBB, IPB, punBB...)
  • Systèmes de gestion de blog (Dotclear, WordPress...)
  • Systèmes de gestion de contenu (appelés aussi CMS) (Spip, ExpressionEngine, Drupal, Xoops...)
  • Administration de bases de données (phpMyAdmin, phpPgAdmin, Eskuel...)
  • Frameworks (Zend Framework, CodeIgniter, CakePHP, Symfony, etc.)

Accélération

PHP est à la base un langage interprété, ce qui est au détriment de la vitesse d'exécution du code. Sa forte popularité associée à son utilisation sur des sites Web à très fort trafic (Yahoo, Facebook) ont amené un certain nombre de personnes à chercher à améliorer ses performances pour pouvoir servir un plus grand nombre d'utilisateurs de ces sites Web sans nécessiter l'achat de nouveaux serveurs.

La réécriture du cœur de PHP ayant abouti au Zend Engine pour PHP 4 puis le Zend Engine 2 pour PHP 5 sont des optimisations. Le Zend Engine compile en interne le code PHP en bytecode exécuté par une machine virtuelle. Les projets open source APC et eAccelerator fonctionnent en tant que cache pour accélérer encore un peu la génération des pages Web.

Il existe également des projets pour compiler du code PHP :

  • Roadsend et phc compilent du PHP en C,
  • Quercus compile du PHP en bytecode Java exécutable sur une machine virtuelle Java,
  • Phalanger compile du PHP en Common Intermediate Language exécutable sur le Common Language Runtime du framework .NET.
  • HipHop For PHP transforme du PHP en C++ qui est ensuite compilé en code natif. Ce projet open source a été démarré par Facebook.
Page générée en 0.044 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise