Вопрос или проблема
Я владею виртуальным сервером, на который установил ubuntu для размещения веб-сайта, у меня есть проблема, я хочу установить php 8.3, но получаю эту ошибку
E: Пакет ‘php8.3’ не имеет кандидата на установку
Я попробовал почти все методы, которые нашел в интернете. Моя версия Ubuntu:
Описание: Ubuntu 22.04.2 LTS
Я следовал определенным форумам, которые нашел здесь, но они не помогли мне.
Я попробовал следующее
sudo add-apt-repository ppa:ondrej/php
sudo apt apt update
sudo apt apt upgrade
sudo apt install php8.3
sudo apt install php8.3-cli
sudo apt install php8.3-sqlite3
sudo update-alternatives --set php /usr/bin/php8.3
Но я получаю,
E: Пакет ‘php8.3’ не имеет кандидата на установку
Я также использовал
sudo add-apt-repository --remove ppa:ondrej/php
, и все шаги, но я получаю
Пакет php является виртуальным пакетом, предоставляемым:
php8.4 8.4.0~rc1-1+ubuntu22.04.1+deb.sury.org+1 [Не кандидатская версия]
php8.3 8.3.12-1+ubuntu22.04.1+deb.sury.org+1 [Не кандидатская версия]
php8.2 8.2.24-1+ubuntu22.04.1+deb.sury.org+1 [Не кандидатская версия]
php8.1 8.1.30-1+ubuntu22.04.1+deb.sury.org+1 [Не кандидатская версия]
php8.1 8.1.8-1+ubuntu22.04.1+deb.sury.org+1 [Не кандидатская версия]
php8.0 1:8.0.30-9+ubuntu22.04.1.1+deb.sury.org+1 [Не кандидатская версия]
php7.4 1:7.4.33-15+ubuntu22.04.1.1+deb.sury.org+1 [Не кандидатская версия]
php7.3 7.3.33-21+ubuntu22.04.1+deb.sury.org+1 [Не кандидатская версия]
php8.1 8.1.2-1ubuntu2 [Не кандидатская версия]
E: Пакет 'php' не имеет кандидата на установку
sudo apt apt update
Скорее всего, это не работает из-за двойного использования apt.
Вы можете установить php8.3 с помощью
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.3
Все пакеты обновлены.
W: https://wp-toolkit.plesk.com/cPanel/Ubuntu-22.04-x86_64/latest/wp-toolkit/./InRelease: Ключ хранится в устаревшем ключевом хранилище trusted.gpg (/etc/apt/trusted.gpg), смотрите раздел УСТАРЕВАНИЕ в apt-key(8) для получения подробной информации.
W: https://wp-toolkit.plesk.com/cPanel/Ubuntu-22.04-x86_64/latest/thirdparty/./InRelease: Ключ хранится в устаревшем ключевом хранилище trusted.gpg (/etc/apt/trusted.gpg), смотрите раздел УСТАРЕВАНИЕ в apt-key(8) для получения подробной информации.
root@89-*-*-*:~# sudo apt install php8.3
Чтение списков пакетов... Готово
Создание дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Пакет php8.3 не доступен, но на него ссылается другой пакет.
Это может означать, что пакет отсутствует, устарел или
доступен только из другого источника
E: Пакет 'php8.3' не имеет кандидата на установку
Ответ или решение
Устранение проблемы "E: Package ‘php8.3’ has no installation candidate"
Если вы столкнулись с ошибкой "E: Package ‘php8.3’ has no installation candidate" во время попытки установить PHP 8.3 на свой сервер с Ubuntu 22.04.2 LTS, это может быть вызвано несколькими факторами. Давайте разберем возможные причины и решения этой проблемы.
Настройка программы установки
-
Проверка PPA: Ваша система, похоже, не может найти необходимые пакеты, возможно, из-за некорректного PPA или его отсутствия. Чтобы продолжить установку, вы сначала должны добавить репозиторий, который предоставляет PHP версии 8.3. Убедитесь, что вы используете актуальный PPA.
sudo add-apt-repository ppa:ondrej/php
-
Обновление списков пакетов: После добавления PPA обновите списки пакетов для получения информации о новых пакетах.
sudo apt update
-
Установка PHP 8.3: Теперь попробуйте установить PHP 8.3 и его основные модули.
sudo apt install php8.3 php8.3-cli php8.3-sqlite3
Устранение проблем с установкой
Если ошибка "has no installation candidate" продолжает появляться, изучите следующие шаги:
-
Проверка доступных пакетов: Убедитесь, что нужные пакеты действительно доступны в вашем репозитории. Для этого выполните:
apt-cache policy php8.3
Если пакеты находятся в репозитории, но не могут быть установлены, возможно, они конфликтуют с другими установленными версиями PHP.
-
Удаление старых версий: Попробуйте удалить другие версии PHP, так как они могут успешно блокировать установку новейшей версии. Воспользуйтесь командой:
sudo apt remove php*
-
Обновление системных зависимостей: Если проблема продолжается, рассмотрите возможность обновления всех системных пакетов для устранения возможных конфликтов:
sudo apt upgrade
Дополнительные рекомендации
- Проверка конфигурации APT: Используйте команду
apt list --upgradable
для проверки, есть ли у вас какие-либо обновления, которые могут помешать установке. - Устранение конфликтов с ключами: Убедитесь, что ваши ключи репозитория актуальны, особенно если вы используете PPA. Исправьте любые предупреждения, связанные с устаревшими ключами.
- Изучите альтернативные репозитории: Если стандартный PPA от Ondřej Surý не работает, можно использовать другие источники, такие как
deb.sury.org
, где также доступны версии PHP. Можно добавить его следующим образом:sudo add-apt-repository 'deb https://packages.sury.org/php/ jammy main'
Заключение
Ошибки при установке пакетов PHP могут быть вызваны различными проблемами, начиная от отсутствия нужного репозитория и заканчивая конфликтами с установленными версиями. Следуя предложенным шагам и тщательно проверяя доступные пакеты, вы сможете успешно установить PHP 8.3 на ваше серверное окружение с Ubuntu 22.04.2 LTS. Если после выполнения всех шагов у вас остались вопросы, не стесняйтесь обратиться за помощью на специализированные форумы или сообщества, такие как Ask Ubuntu или Stack Overflow.