Ошибка при установке php 7.2 в Ubuntu 17.04
Я получил эту ошибку при запуске ниже команды
sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm
Чтение информации о состоянии... Готово
E: Unable to locate package php7.2
E: Couldn't find any package by glob 'php7.2'
E: Couldn't find any package by regex 'php7.2'
E: Unable to locate package php7.2-common
E: Couldn't find any package by glob 'php7.2-common'
E: Couldn't find any package by regex 'php7.2-common'
E: Unable to locate package php7.2-cli
E: Couldn't find any package by glob 'php7.2-cli'
E: Couldn't find any package by regex 'php7.2-cli'
E: Unable to locate package php7.2-fpm
E: Couldn't find any package by glob 'php7.2-fpm'
E: Couldn't find any package by regex 'php7.2-fpm'
5 ответов
Вам нужно вручную добавить PPA-файл ondrej, чтобы иметь возможность установить PHP7.2 в Ubuntu 17
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.2
Или скомпилировав его из исходного кода, клонировав репозиторий git, выбрав нужную вам версию, make & make install
Для получения дополнительной информации о компиляции PHP из исходного кода ознакомьтесь с тем, как собрать / скомпилировать PHP из исходного кода.
У меня была похожая проблема. Эта страница помогла мне решить эту проблему. https://tecadmin.net/install-php-debian-9-stretch/
в частности, запуск этих команд до установки php
sudo apt install ca-certificates apt-transport-https
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
Полностью удалить ВСЕ версии PHP
sudo apt-get purge 'php*'
Принудительное обновление из неподписанного репозитория:
Добавьте эту опцию в свой sources.list (расположенный в /etc/apt/sources.list):
deb [trusted=yes] https://deb.sury.org/ stretch main
Обновите текущие пакеты до последней версии:
sudo apt update sudo apt upgrade
Сначала установите необходимые пакеты в вашу систему:
sudo apt install ca-certificates apt-transport-https
Затем импортируйте ключ подписи пакетов:
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
После этого настройте PPA для пакетов PHP в вашей системе:
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
Наконец, используйте один из следующих вариантов для установки PHP в соответствии с вашими требованиями:
Для установки PHP 7.2
sudo apt install php7.2-cli
Для установки PHP 7.1
sudo apt install php7.1-cli
Если вы получаете ошибку, например
php7.2
php7.2-curl
не имеет устанавливаемого кандидата или не находит какой-либо пакет или зависимости
php7.2-common
Или же
libcurl3
Сделай это . Не забудьте изменить имя пакета в соответствии с вашими требованиями.
Вы должны решать по-взрослому. Установите aptitude, этот менеджер пакетов Ubuntu найдет все зависимости и установит их одну за другой.
apt-get install aptitude
Теперь вам нужно проверить, может ли aptitude загрузить его или нет, если загрузите его, следуйте инструкциям.
sudo aptitude install php7.2-curl
Если вы получили какую-либо ошибку, подобную этой
Тип
n
тогда
Enter
Aptitude найдет все зависимости и попросит вас установить все типы пакетов.
Опять таки
y
затем
systemctl restart apache2
Для Centos Rhel
systemctl restart httpd
По умолчанию PHP 7.2 FPM не будет включен. ВНИМАНИЕ: Чтобы включить PHP 7.2 FPM в Apache2, выполните
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
Этот метод предназначен не только для этой ошибки, вы можете найти любое решение системного пакета php apache2 или ubuntu, используя aptitude.
Upvote if you find your solution
В моем случае был установлен более новый php (7.4), поэтому я просто заменил команду на версии 7.4.
sudo apt install php7.4 php7.4-common php7.4-cli php7.4-fpm
чтобы узнать версию установленного php, используйте:
php --version