MAMP: Как обновить PEAR - PullRequest
       30

MAMP: Как обновить PEAR

21 голосов
/ 04 декабря 2011

При попытке обновить MAMP pear возникает следующая ошибка:

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.

Несколько советов, как это исправить?

Шаги для воспроизведения:

  • Установленный MAMP (версия 2.0.5)
  • cd /Applications/MAMP/bin/php/php5.3.6/bin
  • sudo ./pear upgrade pear
  • вышеупомянутая ошибка выдается

Обновление (1):

На основании ответа 8375349/420953 Я попробовал 2 возможности исправить это

  • A: удалить pear.conf
    • rm /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
  • B: edit pear.conf
    • изменить "php_dir"; s: 44 на "php_dir"; s: 43

оба привели к ошибке:

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

Обновление (2):

работает

  • какая груша

результат в выводе

  • / USR / местные / бен / груша

При этом я заметил, что использую «локальную» версию PEAR.

Я удалил его с

  • груша sudo удалить груша

, а затем попытался обновить версию MAMP PEAR с

  • / Приложения / MAMP / bin / php / php5.3.6 / bin / pear upgrade pear

это приводит к ошибке

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

обновление до

  • sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear upgrade pear

устанавливает его локально (снова).

работает

  • какая груша
* * 1 097 * 1098 выходы *
  • / USR / местные / бен / груша

это возвращает меня к начальной точке Обновление (2) . Кажется, я не могу обновить PEAR в каталоге MAMP.

Обновление (3):

Я отправил вопрос

потому что я предполагаю, что корень этой проблемы связан с конфигурацией MAMP PEAR.

Обновление (4):

Я не установил локальную версию PEAR, и это вызывало некоторые проблемы. После установки локальной версии (и не только версии MAMP) обновление версии MAMP работало отлично.

Ответы [ 4 ]

26 голосов
/ 04 декабря 2011

Люди с вашей точной проблемой, кажется, решили ее в этой ветке форума MAMP .

Вы можете удалить /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf или изменить строку в этом файле с "php_dir";s:44 на "php_dir";s:43.

4 голосов
/ 05 сентября 2012

Отредактируйте файл pear.conf: добавив косую черту "/" в конец пути php_dir, сохраняя при этом значение s: 44, решило проблему для меня и пары коллег.

2 голосов
/ 10 мая 2012

У меня установлен XAMPP, и я просто удалил /xampp/php/pear.ini, и это решило ту же проблему

1 голос
/ 13 ноября 2017

Просто включите поздний ответ, чтобы другие нашли этот ответ. В моем конфиге PEAR было несколько проблем, а не только в конфиге php_dir.

Мне пришлось пройтись по всем моим настройкам, чтобы убедиться в правильности счета. Когда все ошибки были исправлены, моя PEAR снова работала нормально.

Просмотр этого сообщения в терминале:

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. Перейдите к файлу конфигурации PEAR (возможно, находится здесь /MAMP/bin/php/php7.0.10/conf/pear.conf)
  2. Перейдите к 276-му символу в этом файле и убедитесь, что длина строки соответствует значению s43, определенному перед строкой.
  3. Запустите команду PEAR снова (например, pear version)
  4. Если у вас есть больше ошибок, например, по адресу 317-й символ вы считаете эту строку и записываете длину в s: XX перед строкой.

Просто для разъяснения другим людям, которые находят эту проблему. Файл PEAR Config представляет собой сериализованный объект, который не сериализуется при выполнении команд.

Сериализованный объект выглядит как s:5:"value" с s: 5, определяющим длину строки.

...