Вопрос или проблема
После чтения этого вопроса и ответа я все еще застрял на PEAR v1.10.13, который содержит ряд конфликтов с версией php по умолчанию (8.3.6) на Ubuntu 24. На момент этого вопроса последняя стабильная версия PEAR – 1.10.15, в которой, похоже, эти конфликты были разрешены.
Я пробовал:
pear channel-update pear.php.net
pear upgrade-all
Это не изменило версию, и я остался на 1.10.13. Затем я попробовал команду “easy install” со страницы загрузки с следующим результатом:
$ pear install PEAR-1.10.15
Не удалось загрузить pear/Archive_Tar (рекомендуемая версия 1.4.4), последняя версия - 1.5.0, стабильность "стабильная", используйте "channel://pear.php.net/Archive_Tar-1.5.0" для установки
ПРЕДУПРЕЖДЕНИЕ: "pear/Console_Getopt" устарела в пользу "pear/Console_GetoptPlus"
Пакет зависимости pear/PEAR "pear/Archive_Tar" установленная версия 1.4.14 не является рекомендуемой версией 1.4.4, но может быть совместимой, используйте --force для установки
Не найдены действительные пакеты
установка не удалась
Я, вероятно, могу просто скачать его напрямую, но меня беспокоит возможность его перезаписи в будущем. Почему pear upgrade-all
не дает желаемого эффекта? Можете ли вы порекомендовать лучший способ обновить pear до последней стабильной версии?
Я не эксперт в этом, но что сработало для меня, так это выполнение следующих команд:
$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
Это обновилось до последней версии, затем я выполнил обычные команды для установки mail и других соответствующих пакетов.
Поскольку я только что столкнулся с аналогичной проблемой и смог ее решить, вот быстрое и простое решение:
-
Очистите кеш и обновите список пакетов:
pear clear-cache pear update-channels
-
Установите необходимый пакет зависимости
Archive_Tar
вручную:pear install --force Archive_Tar
-
Обновите pear:
pear upgrade --force PEAR
-
(необязательный шаг) Перечислите установленные пакеты, пакеты, которые можно обновить, и выполните обновление:
pear list pear list-upgrades pear upgrade
В случае сбоя зависимости просто установите его вручную, как показано в пункте #2.
ПРИМЕЧАНИЕ 1: Не забудьте перезапустить ваши сервисы php-fpm и httpd – если они установлены!
ПРИМЕЧАНИЕ 2: “Окончательный” тест для любого php модуля: php -m
. Если модуль перечислен, значит, он был установлен/обновлен успешно.
Ответ или решение
Установка последней стабильной версии PEAR (PHP Extension and Application Repository) может показаться сложной задачей, особенно если у вас возникли проблемы с предыдущими версиями. Чтобы успешно установить PEAR версии 1.10.15 на Ubuntu 24 с PHP 8.3.6, следуйте приведённым ниже пошаговым инструкциям.
Шаг 1: Очистка кэша и обновление каналов
Начните с очистки кэша PEAR и обновления каналов. Эти команды помогут устранить возможные конфликты и получить актуальную информацию о доступных пакетах.
pear clear-cache
pear update-channels
Шаг 2: Установка зависимостей
PEAR часто зависит от других модулей. В вашем случае, вы столкнулись с ошибками, связанными с пакетом Archive_Tar
. Важно установить его вручную. Используйте следующую команду:
pear install --force Archive_Tar
Использование флага --force
позволит вам установить пакет, даже если его текущая версия не соответствует рекомендациям.
Шаг 3: Обновление PEAR
Теперь, когда необходимые зависимости установлены, вы можете обновить сам PEAR до последней версии:
pear upgrade --force PEAR
Флаг --force
позволяет обновить PEAR даже при наличии несоответствий, что решает проблему старой версии.
Шаг 4: Установка или обновление дополнительных пакетов
Если вы хотите проверить установленные пакеты и обновить их до последних версий, выполните следующие команды:
pear list
pear list-upgrades
pear upgrade
В случае обнаружения ошибок зависимостей, вернитесь к Шагу 2 и устанавливайте отсутствующие пакеты по одному.
Дополнительные рекомендации
-
Перезагрузка сервисов: После обновления не забудьте перезапустить службы PHP-FPM и HTTP (если они установлены), чтобы изменения вступили в силу:
sudo systemctl restart php8.3-fpm sudo systemctl restart apache2 # или другой веб-сервер
-
Проверка установки: Для проверки успешной установки выполните команду:
php -m
Если вы видите
PEAR
в списке, то установка прошла успешно.
Заключение
Следуя предоставленным шагам, вы сможете успешно обновить PEAR до последней версии, избежав конфликтов с версиями зависимостей. Если вы продолжаете сталкиваться с проблемами, вы можете рассмотреть возможность ручной установки последней версии PEAR с помощью скачивания go-pear.phar
и выполнения:
php go-pear.phar
Поддержание актуальности PEAR является важным шагом для обеспечения совместимости с последними версиями PHP и доступом к необходимым библиотекам.