Comment installer fileinfo sous debian

Les fonctions de l’extension FileInfo essaient de savoir le type de contenu et l’encodage d’un fichier en regardant certaines séquences d’octet « magique » à des positions spécifiques à l’intérieur du fichier. Bien qu’il ne s’agit pas d’une approche infaillible, la méthode heuristique effectue un très bon travail.

le problème avec cette extension c’est qu’elle est un peu dur à installer, en réalité pas si dur que ça, il suffit de prendre le temps de le faire. Il faut juste savoir qu’un simple apt-get install php5-fileinfo ne suffira pas, tout simplement parce qu’il n’existe pas de paquet debian pour cette extension (pas encore…).

Donc pour l’installer, voici la procédure :
Il faut d’abord installer PEAR :

apt-get install php-pear

ensuite il faut installer php5-dev si ce n’est pas déjà fait, ceci installera phpize ce qui nous évitera l’erreur :

sh: phpize: command not found
ERROR: `phpize' failed

installation de php5-dev :

apt-get install php5-dev

c’est presque bon mais pas encore :
maintenant il faut installer libmagic pour nous éviter une erreur lors de l’installation de fileinfo :

apt-get install libmagic-dev

maintenant tout est bon, nous allons enfin pouvoir lancer l’installation de notre extension :

pecl install fileinfo

Voilà, maintenant fileinfo est installée, nous allons pouvoir vérifier les types mime des fichiers avec des méthodes plus fiables 😉

Normalement tout devrait fonctionner maintenant, mais il ce peut que l’extension ne soit pas activée comme il faut, dans ce cas il faudra créer un fichier fileinfo.ini dans /etc/php5/apache2/conf.d avec le contenu suivant :

extension=fileinfo.so

reloader apache avec /etc/init.d/apache2 reload et le tour est joué :)

Share

8 Comments

  1. Merci pour la dernière ligne, c’est ce qu’il me manquait ! Je pensais qu’une extension PECL était activée par défaut mais il semblerait que non.

    PS : cette procédure est encore d’actualité pour la Debian Stable du moment, Debian Lenny.

    Répondre

  2. Superbe article, concis et précis, j’avais justement les deux erreurs précisées alors je suis très content d’avoir résolu le probleme. :)
    Par contre le code visuel est un peu exagéré (j’ai eu du mal à lire). 😀

    Répondre

  3. Bonjour,
    Après avoir ce suivi ce petit tuto j’ai l’erreur suivante lors de l’exécution de « pecl install fileinfo »

    WARNING: « pear/Fileinfo » is deprecated in favor of « channel://php-src/ext/fileinfo/in php sources »
    downloading Fileinfo-1.0.4.tgz …
    Starting to download Fileinfo-1.0.4.tgz (5,835 bytes)
    …..done: 5,835 bytes
    3 source files, building
    running: phpize
    Cannot find config.m4.
    Make sure that you run ‘/usr/bin/phpize’ in the top level source directory of the module

    ERROR: `phpize’ failed

    Merci de m’aider :)

    Répondre

    1. Salut Fedo,

      Fileinfo devrait déjà être présent dans php5.3 avec debian 6. Tu peux vérifier avec « php5 -i | grep fileinfo » qui te donnera le résultat suivant si tout va bien :

      fileinfo support => enabled

      Bien à toi,

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *