2.Installation de PHP

2.3.sous Linux

L'installation de PHP (avec ou sans serveur web) est d'une facilité déconcertante sous Linux. Puisque c'est pré packagé dans toute distribution qui se respecte. Seuls les noms du package et de la commande d'installation varie d'une distribution ou d'un environnement à l'autre.

2.3.1.Installation avec un package de type Debian ou Ubuntu

Le package s'appelle tout bonnement php5. Et il installera (s'il n'est pas déjà présent) le serveur web Apache.
Si vous souhaitez installer uniquement l'interpréteur PHP pour une utilisation en ligne de commande (i.e. sans serveur web) alors utilisez le package php5-cli en lien et place du package "php5".

2.3.1.1.En ligne de commande

Vous utiliserez votre programme habituel apt-get ou son grand frère aptitude
Nous vous rappelons, qu'avant de procéder à l'installation, il est conseillé de faire un update (comme précisé dans les commandes ci-dessous) afin de vous assurer que la versions, mémorisées sur votre serveur, des programmes disponibles dans le repository (l'espace partagé d'où vous récupérez les programmes) sont bien toujours en phase avec celles effectivement disponible dans le repository.
Notez bien que $ et # ne sont pas des instructions à saisir mais le "prompt" (i.e. le caractère habituellement affiché sur la ligne de commande en mode utilisateur sans privilège '$' et en mode root (i.e. super utilisateur) '#').

2.3.1.1.1.En mode sudo (installation typique Ubuntu)

$ sudo apt-get update
$ sudo apt-get install php5
ou
$ sudo aptitude update
$ sudo aptitude install php5

2.3.1.1.2.En mode root (installation basique Debian)

# apt-get update
# apt-get install php5
ou
# aptitude update
# aptitude install php5

2.3.2.A partir des sources

2.3.2.1.PHP pour le web

Si vous souhaitez utiliser PHP pour un projet internet vous devez d'abord disposer d'un serveur HTTP. Si ce n'est pas le cas, nous vous invitons à installer[comment?] un serveur Apache.

2.3.2.2.L'interpréteur PHP

Vous devez tout d'abord télécharger les sources en suivant ce lien [sources PHP]. Il s'agit d'un fichier ayant un nom suivant le format php-<version>.tar.gz (ou .tar.bz2)
Décompresser le fichier dans un répertoire quelconque (ce peut être un répertoire temporaire). Nous choisirons le répertoire /usr/local/src/ (et nous supposerons avoir téléchargé le fichier sous /tmp)
# cd /usr/local/src
# tar zvxf /tmp/php-5.2.8.tar.gz
ou
# cd /usr/local/src
# tar --bzip2 -vxf /tmp/php-5.2.8.tar.bz2
selon le fichier téléchargé.
Configurez la compilation en choisissant le répertoire de destination
# cd php-5.2.8
# ./configure --prefix=/usr/local/php-5.2.8 --with-apxs2=<chemin où apache2 est installé>/bin/apxs
ou si PHP doit être installé uniquement pour une utilisation en ligne de commande
# cd php-5.2.8
# ./configure --prefix=/usr/local/php-5.2.8
rem
  • Vous n'êtes pas obligé de préciser l'option --prefix. Dans ce cas, PHP sera installé "directement" sous /usr/local (ce qui est bien aussi mais pas ce que nous préférons)
rem
  • Il s'agit de l'étape la plus délicate de l'installation. Il est en effet fort possible qu'à ce niveau une ou plusieurs erreurs soient détectées tout simplement parce que la compilation peut nécessiter des outils ou bibliothèques dont vous ne disposez pas. Si c'est le cas, il faut étudier attentivement le message d'erreur, en déduire le nom de l'outil ou de la bibliothèque et l'installer (ou installer ses sources).
Lancer la compilation proprement dite
# make
Puis passer à l'installation (i.e. copie des fichiers générés dans l'espace précédemment indiqué par l'option --prefix)
# make install
Vous pouvez maintenant faire un test rapide
# /usr/local/php-5.2.8/bin/php -i
(à supposer que vous ayez précédemment choisi /usr/local/php-5.2.8 pour valeur de --prefix).

2.3.2.3.Configuration d'Apache pour PHP

Suite à la compilation précédente vous devriez trouver sous le répertoire /modules d'Apache (ex: /usr/local/apache-2.2.11/modules) un fichier libphp5.so.
rem
  • Si ce n'est pas le cas, c'est que
    • Soit la compilation a échoué.
    • Soit vous avez omis de préciser --with-apxs2
    • Soit le chemin précisé via --with-apxs2 est incorrect
Vous devez alors modifier le fichier de configuration d'Apache http.conf dans le répertoire conf/ afin d'y ajouter (ou de vérifier la présence de)
  • La ligne
    LoadModule php5_module modules/libphp5.so
    (généralement vers le début du fichier, là où il y a d'autres instructions LoadModule en commentaire)
  • La ligne
    Include conf/extra/php5.conf
    (généralement vers la fin du fichier, là où il y a d'autres instructions Include en commentaire)
et ajouter dans le dossier conf/extra/ le fichier php5.conf suivant
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>
rem
  • Ce sont ces quelques lignes qui déterminent quels fichiers doivent être traités comme des scripts PHP. Vous pouvez donc ajouter .php4 et .php5 à la liste .php