IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

Problème d'initialisation de "mime_magic"


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut Problème d'initialisation de "mime_magic"
    Bonjour,

    J'ai mis à jour php5 en installant la 5.2.0 et depuis(enfin je pense que c'est depuis ce moment), j'ai une erreur lorsque je veux me servir de mime_content_type :

    Warning: mime_content_type() [http://www.php.net/mime_magic]: mime_magic not initialized in D:\web\index.php on line 11
    Pourtant la directive mon php.ini est bien établie(j'ai gardé le php.ini de la 5.1.0)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [mime_magic]
    mime_magic.debug = On
    mime_magic.magicfile = "c:/Serveur/Php/extras/magic.mime"
    Le chemin est correct.
    J'ai cherché partout sur le net, et j'ai rien trouvé.

    Quelqu'un aurait-il une idée pourquoi j'ai cette erreur ?

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    tu as le mode "debug" sur "on" et le message est un "warning" donc un simple avertissement
    peut-être que ça fonctionne quand même, est ce que tu as essayé ?

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Oui, justement ça ne fonctionne pas, la fonction ne me retourne rien

    A part cet avertissement, si je met le debug à Off, je n'ai bien entendu plus l'erreur d'affichée, mais ça ne fonctionne pas plus pour autant.

    J'ai tenté de reprendre l'ancienne dll du mime(5.0.5) et j'obtiens un fatal error fonction inconnue lorsque j'utilise mime_content_type()

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par Xunil
    J'ai tenté de reprendre l'ancienne dll du mime(5.0.5) et j'obtiens un fatal error fonction inconnue lorsque j'utilise mime_content_type()
    tu as de la chance, quand on mélange les versions des DLL la plupart du temps Apache ne veut même plus se lancer

    oh je viens de lire quelque chose d'intéressant là tout en haut :
    http://php.net/ref.mime-magic
    SI tu installe cette extension PECL ça va te faire du travail en plus mais si c'est conseillé ça fonctionnera peut-être mieux puisque tu as une des dernières versions de PHP

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Merci, j'avais pas fait gaffe à cet encart.

    J'ai installé la bibliothèque, mais bien sûr, ça ne fonctionne pas, ça aurait été trop simple.

    J'ai des messages d'erreurs.

    Warning: finfo_open() [function.finfo-open]: Failed to load magic database at '(null)'. in D:\web\index.php on line 15

    Warning: finfo_file(): supplied argument is not a valid file_info resource in D:\web\index.php on line 17
    Je comprends pas trop bien les arguments à fournir.

    J'ai tenté un :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $o = file_get_contents('./mime/magic.mime');
     
    $finfo = finfo_open(FILEINFO_MIME, $o);
     
    echo finfo_file($finfo, './test.html');

    Je n'ai plus la première erreur, mais toujours la 2nde, mais je doute que le 2nd argument à fournir doit être de ce type.

    Je suis un peu perdu.

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    d'après la doc de la fonction (http://php.net/finfo_open) il ne faut pas mettre '.mime' à la fin
    et si ça ne fonctionne pas essaye avec un chemin absolu

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Merci,

    C'était bien ça, il ne fallait pas mettre d'extension .mime, bizarre quand même de définir un truc pareil

    J'y ai presque cru que ça allait fonctionner, mais non

    C'est quand même pas encore très au point cette librairie.

    finfo_file me dit que mon fichier n'existe pas... Et pourtant

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $finfo = finfo_open(FILEINFO_MIME, './mime/magic');
     
    if( file_exists('./index.php') )
        echo finfo_file($finfo, './index.php');

    cannot open `./index.php' (No such file or directory)
    J'ai tout essayé, chemin absolu, relatif, divers types de fichiers, il veut rien savoir.

    Bref, j'abandonne, je suis à la saturation

    Merci, sans ton aide, je n'aurais pas avancer jusqu'ici

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    Ah tiens, dans un grand élan désespéré de la dernière chance, j'ai tenté d'utiliser le buffer comme décrit dans la doc, et ooohh miracle, ça fonctionne

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $o = file_get_contents('./parse.html');
     
    $finfo = new finfo(FILEINFO_MIME, './mime/magic');
    echo $finfo->buffer($o);

    Qui me renvoi :

    text/html; charset=iso-8859-1

    Merci pour tout.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème "LoadModule ssl_module modules/mod_ssl.so"
    Par ldcarpathes dans le forum Apache
    Réponses: 9
    Dernier message: 24/01/2008, 11h07
  2. Formulaires : problème avec les slashes et les quotes
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 12/10/2005, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo