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é.
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
.
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.
J'ai installé XAMPP, et je viens de supprimer /xampp / php / pear.ini et qui a résolu le même problème
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.
- allez dans votre fichier de configuration PEAR (probablement situé ici
/MAMP/bin/php/php7.0.10/conf/pear.conf
) - 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.
- exécutez à nouveau une commande PEAR (par exemple
pear version
) - 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.