Toutes les distributions Linux sont livrées avec PHP. Cependant, il est recommandé de télécharger le dernier code source PHP, de le compiler et de l'installer sur Linux. Cela facilitera la mise à niveau continue de PHP immédiatement après la mise à disposition d'un nouveau correctif ou d'une nouvelle version au téléchargement à partir de PHP. Cet article explique comment installer PHP5 à partir des sources sur Linux.
1. Prérequis
Le serveur Web Apache doit déjà être installé. Reportez-vous à mon article précédent sur Comment installer Apache 2 sur Linux. Si vous envisagez d'utiliser PHP avec MySQL, My SQL doit déjà être installé. J'ai écrit sur Comment installer MySQL sur Linux.
2. Télécharger PHP
Téléchargez le dernier code source à partir de la page de téléchargement PHP. La version stable actuelle est la 5.2.6. Déplacez la source vers /usr/local/src et extrayez comme indiqué ci-dessous.
# bzip2 -d php-5.2.6.tar.bz2 # tar xvf php-5.2.6.tar
3. Installer PHP
Affichez toutes les options de configuration disponibles pour PHP en utilisant ./configure –-help (deux traits d'union devant l'aide). L'option la plus couramment utilisée est –-prefix={install-dir-name} pour installer PHP sur un répertoire défini par l'utilisateur.
# cd php-5.2.6 # ./configure --help
Dans l'exemple suivant, PHP sera compilé et installé sous l'emplacement par défaut /usr/local/lib avec la configuration Apache et le support MySQL.
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql # make # make install # cp php.ini-dist /usr/local/lib/php.ini
4. Configurer httpd.conf pour PHP
Modifiez le fichier /usr/local/apache2/conf/httpd.conf pour ajouter ce qui suit :
<FilesMatch "\.ph(p[2-6]?|tml)$"> SetHandler application/x-httpd-php </FilesMatch>
Assurez-vous que le httpd.conf contient la ligne suivante qui sera automatiquement insérée lors du processus d'installation de PHP.
LoadModule php5_module modules/libphp5.so
Redémarrez apache comme indiqué ci-dessous :
# /usr/local/bin/apache2/apachectl restart
5. Vérifier l'installation de PHP
Créez un test.php sous /usr/local/apache2/htdocs avec le contenu suivant
# vi test.php <?php phpinfo(); ?>
Allez sur http://local-host/test.php , qui affichera des informations détaillées sur toutes les options de configuration PHP et les modules PHP installés sur le système.
6. Dépannage lors de l'installation
Erreur 1 :configuration :erreur :xml2-config introuvable :
Lors de l'exécution du ./configure lors de l'installation de PHP, vous pouvez obtenir l'erreur suivante :
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql Configuring extensions checking whether to enable LIBXML support... yes checking libxml2 install dir... no checking for xml2-config path... configure: error: xml2-config not found. Please check your libxml2 installation.
Installez libxml2-devel et zlib-devel comme indiqué ci-dessous pour résoudre ce problème.
# rpm -ivh /home/downloads/linux-iso/libxml2-devel-2.6.26-2.1.2.0.1.i386.rpm /home/downloads/linux-iso/zlib-devel-1.2.3-3.i386.rpm Preparing... ########################################### [100%] 1:zlib-devel ########################################### [ 50%] 2:libxml2-devel ########################################### [100%]
Erreur 2 :configuration :erreur :Impossible de trouver les fichiers d'en-tête MySQL.
Lors de l'exécution du ./configure lors de l'installation de PHP, vous pouvez obtenir l'erreur suivante :
# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql checking for MySQL UNIX socket location... /var/lib/mysql/mysql.sock configure: error: Cannot find MySQL header files under yes. Note that the MySQL client library is not bundled anymore!
Installez le package MySQL-devel-community comme indiqué ci-dessous pour résoudre ce problème.
# rpm -ivh /home/downloads/MySQL-devel-community-5.1.25-0.rhel5.i386.rpm Preparing... ########################################### [100%] 1:MySQL-devel-community ########################################### [100%]
Références : Manuel PHP