Erreur/Bug PEAR avec PHP 5.3.0

Benjamin Longearet 17 février 2010 8
Erreur/Bug PEAR avec PHP 5.3.0

 Alors que je me suis mis au fabuleux Framework Symfony (dont je vous ferais par de mes astuces), j’ai voulu utiliser un plugin encore fabuleux : sfDoctrineGuardPlugin. Pour l’installer il faut passer par PEAR.

Je suis sur Windows (et alors ?? :D ) et j’utilise WAMP sous PHP 5.3.0.

Comme indiqué sur plusieurs site la marche à suivre et :

  • Se rendre dans le dossier contenant PHP (pour ma part C:\wamp\bin\php\php5.3.0\)
  • Executer le fichier go-pear.bat

Et là, alors que je siroté une bonne bière, la console m’affiche gentiment :

phar « C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar » does not have a signature
PHP Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar « phar://go-pear.phar/index.php » in C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236
Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: phar error: invalid url or non-existent phar « phar://go-pear.phar/index.php » in C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236

Irrité par ces messages je suis parti à la conquête de google (vous connaissez ?) hum … Bon et je trouve un lien qui me donne un lien qui lui même me redirige … casse tête !

Je profite donc de cette astuce trouvé sur la toile et vous la fait partager.

Il suffit juste pour résoudre ce problème d’ouvrir le fichier go-pear.bat avec un éditeur de texte (bloc-note, np++) et d’y mettre les infos suivantes à la place :

@ECHO OFF
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 -d phar.require_hash=0 PEAR\go-pear.phar
pause

Certain affirme que vous pouvez également modifier directement le php.ini, en enlevant le commentaire de la ligne phar.require_hash et en lui donnant la valeur Off.

Personnellement cela n’a pas marché mais on sait jamais!

Bon dév’  :D)

Geekos.fr vous recommande les articles suivants

8 Commentaires »

  1. Delphine LEMIRE 20 février 2010 au 10 h 34 min - Reply

    Merci de l’info, cela a fonctionné pour moi…
    je ne sais pas si a eu une incidence; j’ai lancé “cmd” en mode admin.

  2. Benjamin LONGEARET 20 février 2010 au 11 h 31 min - Reply

    Je l’ai lancé en mode normal, je ne pense pas qu’il y ai une incidence.
    Mais tu as raison, il vaut mieux lancer le “cmd” en mode admin pour ces actions.
    Je met à jour ;)

  3. Philippe 31 mars 2010 au 9 h 19 min - Reply

    Merci, merci, merci !!!!!

  4. Benjamin LONGEARET 31 mars 2010 au 9 h 27 min - Reply

    De rien ;)
    Bon dév’

  5. regis Delbeuf 8 septembre 2010 au 18 h 44 min - Reply

    Un grand merci
    effectivement, changer la valeur de phar.require_hash pour off ne fonctionne pas chez moi

  6. benoit 14 novembre 2010 au 4 h 48 min - Reply

    J’ai effectivement trouvé cette astuce aprés moultes recherches sur le net :)

    Je me trouve maintenant bloqué par l’installation qui n’explique RIEN !

    EN lançant go-pear.bat une fenêtre CMD s’ouvre

    une première question (trés vague) :
    “Are you installing a system-wide pear or a local copy ?”
    (Etes vous en train d’installer un systeme large de pear ou une copy locale?)
    J’ai répondu “local” (Est-ce Ok ?)

    ENSUITE il me demande ce que je choisis d’installer (numérotés de 1 à 12 ou all) des dossiers et des fichiers dans le répertoire suivant (chez moi) :
    C:\wamp\bin\php\php5.3.0\
    Je choisis “all” (Est-ce Ok ?)

    NOUVELLE question pas trés claire :
    Installation base ($prefix) [C:\wamp\bin\php\php5.3.0\] :
    Je choisis de ne rien répondre car je suppose que le texte entre crochets correspond au choix par défaut (mais l’explication n’est vraiment pas claire !)

    Même réponse (c’est à dire rien :)) aux autres questions équivalentes
    (répertoire de temp/ de binaries, de php code, de documentation, data, configuration ..
    puis là un doute sur une des questions :
    Public Web Files [$prefix\www] ce qui ne doit pas correspondre pour mon install avec wamp car mon dossier racine publique du site est : “C:\wamp\www” et non pas “C:\wamp\bin\php\php5.3.0\www” (Est-ce Ok ?) je met donc “C:\wamp\www”

    il me demande de confirmer tous ces paramétrages. je valide.
    il me dit : “pear.bat est maintenant dispo”
    cool. je sors de cette fenetre CMD

    pour récap j’ai tout installé dans “C:\wamp\bin\php\php5.3.0\”
    sauf la racine du site qui est à “C:\wamp\www\”
    PENSEZ VOUS QUE C’EST OK ?

    donc je lance Pear.Bar avec comme paramètre “install” et le nom du package à installer
    ex. : “pear install Mail”
    Ca à l’air de fonctionner : des fichiers php sont créés dans un dossier lui aussi créé “Mail”.
    Ce qui me dérange c’est que ce dossier ce crée dans :
    “C:\wamp\bin\php\php5.3.0\PEAR\Mail”
    Alors que ma racine web est “C:\wamp\www”

    Cela va poser un problème pour appeler les classes et les fonction souhaitées, non ?

    Merci par avance de vos éclaircissement, je vous avoue être un peu perdu !

  7. salah 19 janvier 2011 au 12 h 17 min - Reply

    j’ai eu le même problème est j’ai dû supprimer les variables d’utilisateur de PEAR dans pour que ça marche ;)

  8. salah 19 janvier 2011 au 12 h 19 min - Reply

    j’ai eu le même problème et j’ai dû supprimer les variables d’utilisateur de PEAR dans contenu dans les variables d’environnements pour que ça marche

Laissez un message »