MAMP: comment mettre à niveau la poire

Lorsque vous essayez de mettre à niveau MAMP pear, l'erreur suivante est déclenchée:

Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.

Quelques suggestions pour résoudre ce problème?

Étapes à suivre pour reproduire:

  • installé MAMP (version 2.0.5)
  • cd / Applications/MAMP/bin/php/php5.3.6 / bin
  • sudo ./ poire mise à niveau poire
  • l'erreur mentionnée ci-dessus est levée

Mise à Jour (1):

Basé sur la réponse 8375349/420953 j'ai essayé 2 possibilités de réparer ce

  • A: supprimer poire.conf
    • rm /Applications/MAMP/bin/php/php5.3.6/conf/poire.conf
  • B: modifier poire.conf
    • changez "php_dir"; s: 44 en "php_dir"; s:43

Les deux ont donné lieu à une erreur:

Could not get contents of package "/Applications/MAMP/bin/php/php5.3.6/bin/pear". Invalid tgz file.
upgrade failed

Mise à Jour (2):

Fonctionnement

  • quelle poire

Résultats en sortie

  • /usr/local/bin/poire

Avec cela, je j'ai remarqué que j'utilisais la version "locale" de PEAR.

Je l'ai enlevé avec

  • sudo poire désinstaller poire

Et ensuite essayé de mettre à jour la version MAMP de PEAR avec

  • / Applications/MAMP/bin/php/php5.3.6/bin / poire mise à niveau poire

Il en résulte une erreur

Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user

Mise à niveau avec

  • sudo / Applications/MAMP/bin/php/php5.3.6/bin / poire mise à niveau poire

L'installe localement (encore).

Fonctionnement

  • quelle poire

Sorties

  • /usr/local/bin/poire

, Cela me ramène au point de départ de mise à Jour (2). Il semble que je ne suis pas capable de mettre à jour PEAR sous un répertoire MAMP.

Mise à Jour (3):

J'ai posté une question

Parce que mon hypothèse est que la racine de ce problème est lié à MAMP PEAR config.

Mise à Jour (4):

Je n'ai pas installé une version locale de PEAR et cela causait pas mal de problèmes. Après avoir également installé une version locale (et pas seulement la version MAMP), upgarding la version MAMP a parfaitement fonctionné.

21
demandé sur Community 2011-12-04 16:38:05

4 réponses

Les gens avec votre problème exact semblent l'avoir résolu dans ce fil de discussion MAMP .

Vous pouvez soit supprimer /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf, soit changer une ligne dans ce fichier de "php_dir";s:44 à "php_dir";s:43.

26
répondu Alex 2011-12-04 12:42:07

Modifier la poire.conf: ajouter une barre oblique " / " à la fin du chemin php_dir, tout en gardant le s: 44 résolu le problème pour moi et quelques collègues.

4
répondu Soben 2012-09-05 19:26:37

J'ai installé XAMPP, et je viens de supprimer /xampp / php / pear.ini et qui a résolu le même problème

2
répondu Spec 2012-05-10 13:22:56

Juste ébrécher avec une réponse tardive pour les autres trouvant cette réponse. Ma configuration PEAR a eu plusieurs problèmes et pas seulement le paramètre de configuration php_dir.

J'ai dû passer en revue tous mes paramètres pour vérifier que le décompte était correct. Lorsque toutes les erreurs ont été corrigées, ma poire fonctionnait bien à nouveau.

Voir ce message dans le terminal:

Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.
  1. allez dans votre fichier de configuration PEAR (probablement situé ici /MAMP/bin/php/php7.0.10/conf/pear.conf)
  2. allez au 276e caractère de ce fichier et vérifiez que la longueur de la chaîne correspond au s43 défini avant la chaîne.
  3. exécutez à nouveau une commande PEAR (par exemple pear version)
  4. Si vous avez plus d'erreurs situées au 317ème caractère, vous comptez cette chaîne et écrivez la longueur dans le s:XX avant la chaîne.

Juste pour clarifier pour les autres trouvant ce problème. Le fichier de configuration PEAR est un objet sérialisé qui n'est pas sérialisé lors de l'exécution de commandes.

Un objet sérialisé ressemble à s:5:"value" avec le s: 5 définissant la longueur chaîne.

1
répondu Volzy 2017-11-13 19:18:45