Documentation technique : Debian
Documentation basée sur la distribution Debian

> > > Installation de php5 et de ses modules supplémentaires

Installation de php5 et de ses modules supplémentaires

NB : On aura installé et configuré sudo auparavant. Si vous ne l’avez pas fait, il vous est nécessaire de passer en super utilisateur pour réaliser les commandes débutant par sudo?.

Installation basique de PHP5

L’installation sur les distributions récentes est très simple. Sur notre distribution Debian, il suffit de lancer la commande :

  1. sudo apt-get install php5 php5-cli libapache2-mod-php5

A la fin de l’installation des paquets on test l’ajout du module pour Apache 2.x (qui devrait être automatiquement activé) en lançant cette commande :

  1. sudo a2enmod php5

NB : a2enmod est une commande spécifique aux distributions basées sur Debian. Si vous utilisez une autre distribution, il vous faudra trouver la méthode normale d’ajout de module pour Apache.

Puis on redémarre le service Apache :

  1. sudo /etc/init.d/apache2 restart

On a ainsi à disposition PHP5 pour Apache et en ligne de commande grâce au paquet php5-cli.

Installation de modules PHP supplémentaires via APT

Il se peut que le module php que nous souhaitions installer existe dans les paquets de la distribution. L’intérêt de le compiler manuellement est donc mineur hormis le passage de paramètres personnalisés.

Par exemple, nous souhaitons installer le module gd pour PHP5.

On cherche tout d’abord si le paquet est disponible :

  1. sudo apt-cache search gd |grep php5

S’il est disponible, il suffit alors de l’installer :

  1. sudo apt-get install php5-gd

Puis de redémarrer le service Apache :

  1. sudo /etc/init.d/apache2 restart

Compilation et installation à partir des sources d’un module : exemple de ffmpeg-php

Installation des prérequis :

  1. sudo apt-get install php5-dev

php5-dev est le paquet contenant les outils nécessaires à compiler les modules php.

Prenons l’exemple de l’installation du module php-ffmpeg.

On vérifie tout d’abord s’il est diponible dans la distribution :

  1. apt-cache search ffmpeg |grep php

apt-cache nous retourne un résultat php5-ffmpeg.

Cependant en lançant la commande :

  1. apt-cache showpkg php5-ffmpeg

On se rend compte que la version est obsolète (0.6.0 actuellement dans Debian Squeeze). On va donc le compiler manuellement pour avoir une version à jour.

On récupère tout d’abord dans le répertoire home de l’utilisateur les sources disponibles. Nous allons utiliser ici le dépot svn du projet mais cela fonctionnerait également avec le dernier zip ou autre archive disponible sur le site du module, que l’on aura décompressé et on se déplace dans le répertoire créé :

  1. cd ~
  2. svn co https://ffmpeg-php.svn.sourceforge.net/svnroot/ffmpeg-php/trunk ffmpeg-php
  3. cd ffmpeg-php/ffmpeg-php

Télécharger

On prépare l’extension php avant compilation et on configure la compilation :

  1. phpize
  2. make clean
  3. ./configure

Télécharger

Puis on compile et on installe le nouveau module :

  1. make
  2. sudo make install

Télécharger

Pour activer l’extension il est alors nécessaire d’ajouter la ligne suivante dans la configuration de php5 :

  1. extension=ffmpeg.so

On peut l’ajouter dans le fichier php.ini mais sur Debian on préfèrera l’ajouter dans un fichier spécifique de configuration qu’il sera facile par la suite de retrouver (dans /etc/php5/conf.d/), avec la commande suivante :

  1. echo 'extension=ffmpeg.so' > /etc/php5/conf.d/ffmpeg.ini

Puis, bien entendu, on recharge la configuration d’Apache via la commande :

  1. /etc/init.d/apache2 force-reload

Installer des modules PHP via PECL : exemple de php-imagick

PECL (PHP Extension Community Library) est un dépot d’extensions pour PHP permettant d’installer différents modules relativement simplement, prenant en charge le téléchargement, la configuration, la compilation et l’installation du module.

Notre cas d’exemple est le php-imagick. La version fournie par Debian est relativement ancienne et dans certains cas est incompatible avec certaines configuration (l’utilisation du safe_mode notamment). Nous allons donc l’installer via PECL car cette méthode est plus pratique que celle évoquée plus haut. Cependant toutes les extensions PHP ne sont pas disponible via PECL (php-ffmpeg notamment).

Pour pouvoir utiliser PECL certains prérequis sont nécessaires, php5-dev, php-pear. Nous allons donc les installer :

  1. sudo apt-get install php5-dev php-pear

Dans le cas particulier de l’installation de php-imagick, il est nécessaire d’avoir la librairie de developpement d’ImageMagick que l’on installe comme suit :

  1. sudo apt-get install libmagick9-dev

On peut ensuite procéder à l’installation par PECL. Pour ce faire il suffit de lancer la commande :

  1. sudo pecl install imagick

Une question sera posée et il suffira de laisser la valeur par défaut (autodetect).

Pour mettre à jour par la suite la librairie, il suffira de lancer la commande :

  1. sudo pecl upgrade imagick

Tout comme lors de la compilation manuelle d’une extension, il est nécessaire d’ajouter la ligne suivante dans la configuration de php5 :

  1. extension=imagick.so

On peut l’ajouter dans le fichier php.ini mais sur Debian on préfèrera l’ajouter dans un fichier spécifique de configuration qu’il sera facile par la suite de retrouver (dans /etc/php5/conf.d/), avec la commande suivante :

  1. echo 'extension=imagick.so' > /etc/php5/conf.d/imagick.ini

Puis, bien entendu, on recharge la configuration d’Apache via la commande :

  1. /etc/init.d/apache2 force-reload
  • Auteur :
  • Publié le :
  • Mis à jour : 01/10/11

2 commentaires


  • Le 26 mars 2015 à 03:37, par Patrick En réponse à : Installation de php5 et de ses modules supplémentaires

    J’ai installé php5-gd trouvé avec

    deb http://ftp.de.debian.org/debian sid main

    à ajouter dans /etc/apt/sources.list

    puis apt-get install php5-gd
    avec toutes les dépendances et mises à jour

    lors de la mise à jour, j’ai eu quelques soucis de repertoires et d’associations non faits : (apache2 ne démarrait plus)
    J’ai fait des recherche sur google pour chaque erreur, et j’ai trouvé pour redémarrer apache2 :

    cd /etc/apache2
    mkdir conf.d
    corrections dans apache2.conf :
    remplacer LockFile $APACHE_LOCK_DIR/accept.lock
    par Mutex file :$APACHE_LOCK_DIR default
    commenter les lignes NameVirtualHost (avec un #)
    a2enmod suexec (correction Suexec....)
    a2enmod rewrite (correction erreur dav)
    a2enmod dav_fs (correction erreur filesystem)
    service apache2 start

    En esperant que ça servira ...

    Répondre à ce message

    • Le 20 mai 2015 à 08:37, par Quentin Drouet En réponse à : Installation de php5 et de ses modules supplémentaires

      GD est dans les paquets par défaut de chaque distributions normalement.

      Pour info il ne faut pas mettre de dépôts d’autres versions de Debian dans votre sources list. Si vous n’êtes pas en sid, il ne faut pas ajouter ce dépôt.

      Si vous utilisez le dépot habituel de votre distribution, vous ne devriez pas avoir de problèmes.

      Répondre à ce message

Qui êtes-vous ?
  • [Se connecter]
Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.