Installer et configurer PHP (1ère partie)

 
 

Voici la 1ère partie du chapitre 2 du livre PHP 5 avancé : « Installer et configurer sur un serveur ». Un nouveau tutoriel PHP by Openska.

Cyril Pierre-de-Geyer, nous a donné l’occasion de publier des extraits de son ouvrage « PHP 7 Avancé », publié aux éditions Eyrolles. Une référence pour ceux qui souhaiterait apprendre à développer en PHP orienté objet par eux-même. Une nouvelle section qui s’ouvre donc sur le blog d’Openska. Nous publierons le plus souvent possible des extraits du livre, n’hésitez pas à nous contacter pour être au courant des prochaine publication.

Installer et configurer PHP

L’ensemble de ce chapitre n’a pas été restitué dans cet article, la publication se fera sous forme d’extraits, répartis dans plusieurs articles.

PHP peut servir de différentes manières. La plus commune est le mode client/serveur, c’est-à-dire associé à un serveur web. Nous allons détailler dans ce chapitre l’installation d’une telle configuration. PHP peut être couplé avec de nombreux serveurs web dont les principaux sont Apache, IIS, Nginx et Lighttpd. Apache étant largement prédominant sur ce marché, nous allons nous intéresser à son cas en particulier. On notera que PHP est souvent associé à Linux, à Apache et à MySQL : la dénomination LAMP caractérise cette association. Nous verrons donc dans un premier temps la procédure à suivre pour installer PHP 5 sur une station MS-Windows (a priori pour la période de développement), puis sur une plate-forme Linux (pour la production).
Il existe des outils permettant d’installer une plate-forme PHP complète, mais nous vous conseillons d’effectuer au moins une fois une installation manuelle de l’ensemble afin d’en comprendre le fonctionnement et de bien en saisir les subtilités.

Migration vers les dernières versions de PHP

La compatibilité avec PHP 4 a été une des préoccupations majeures durant le développement de PHP 5. Une grande majorité des applications devraient pouvoir être exécutées sur PHP 5 sans dommages, ou ne nécessiter que des modifications mineures.

Toutefois, quelques incompatibilités majeures peuvent être relevées, particulièrement sur la programmation orientée objet et XML. Un chapitre dédié à cette migration est présent à la fin de ce livre pour plus de détails.

PHP 5.3 apporte de nombreuses nouveautés et est, à l’heure où nous écrivons ces lignes, la version de référence du langage depuis que la branche 5.2 n’est officiellement plus maintenue. La migration vers PHP 5.3 est donc fortement recommandée, bien qu’elle nécessite quelques précautions. Vous trouverez les détails propres à cette évolution dans le chapitre dédié aux migrations.

Modes d’installation

L’intégration de PHP dans le serveur Apache peut se faire de deux façons : en tant que module Apache ou via l’interface CGI (Common Gateway Interface).

CGI, FastCGI et FPM

Dans une installation de type CGI, PHP sera installé de façon autonome. Lorsque notre serveur Apache aura besoin de traiter un document PHP, il lancera le programme PHP de façon externe et en récupérera le résultat. À chaque page interprétée, vous aurez donc le lancement et l’arrêt d’un processus (celui de PHP) sur votre machine. FastCGI est une version avancée de CGI qui compense ce défaut majeur : on garde des processus séparés du serveur web, mais ces processus sont persistants et ne sont pas relancés à chaque requête. FPM, pour FastCGI Process Manager, est une version évoluée de FastCGI. Elle donne un plus grand contrôle sur les processus et leur fonctionnement. On peut ainsi récupérer les temps de traitement, la liste des pages les plus lentes, ou exécuter différents processus PHP avec des droits spécifiques.

Modules

Dans une installation en module Apache, PHP sera directement intégré dans le serveur web. Le code PHP sera alors exécuté directement par le processus du serveur web. Cela signifie aussi que PHP ne sera chargé qu’une seule fois au lancement du serveur web et que, pour modifier une option de configuration ou pour ajouter un module à PHP, il faudra redémarrer entièrement le serveur web.

L’installation en module Apache est celle que nous vous conseillons si vous n’avez pas de besoins contraires. Elle amène performances (pas de processus lancé à chaque requête) et souplesse (comme nous le verrons, elle rend possible des modifications de configuration uniquement pour certains scripts).

La suite dans un prochain tutoriel PHP avec les extrait du livre PHP 7 Avancé.

Nos formations PHP pour débuter

Formation PHP avancé

Formation pour passer un cap dans votre expertise PHP

  • intermédiaire à expert
  • 4 jours - 28 heures
  • 2190€