После Ubuntu 18.04 обновление php7.2-curl не может быть установлено

Обновлено до 18.04 с 16.04 сегодня с использованием do-release-upgrade -d

Во время обновления мне сообщили, что некоторые пакеты будут удалены, в том числе:

Удалить: libperl5.22 lxc-common perl-modules-5.22 php-imagick
php7.1-curl php7.2-curl python3-certbot-nginx

Я мог бы повторно установить imagick и certbot без проблем, но если я попытаюсь установить php7.2-curl, я получаю сообщение:

# apt install php7.2-curl -y
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php7.2-curl : Depends: php7.2-common (= 7.2.3-1ubuntu1) but 7.2.4-1+ubuntu16.04.1+deb.sury.org+1 is to be installed
E: Unable to correct problems, you have held broken packages.

Как я могу исправить ситуацию?

Ответ 1

Это может спасти вас:

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.2-fpm php7.2-gd php7.2-curl php7.2-mysql php7.2-dev php7.2-cli php7.2-common php7.2-mbstring php7.2-intl php7.2-zip php7.2-bcmath

Затем sudo service apache2 restart

Ответ 2

Вам не нужно добавлять новый репо. Просто сделайте это, и версия 7.2 будет установлена. Не забудьте перезапустить php и apache после. Также убедитесь, что (вы, вероятно, уже сделали это), чтобы включить новый мод после:

sudo apt install php-curl
sudo a2enmod php7.2

Вы также заметите, вероятно, что в конце установки php-curl (которая устанавливает php-curl и php7.2-curl) следующее (обратите внимание, что у меня есть настройка FPM, может выглядеть иначе, если вы не используете FPM ):

NOTICE: Not enabling PHP 7.2 FPM by default.
NOTICE: To enable PHP 7.2 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.2-fpm
NOTICE: You are seeing this message because you have apache2 package installed.

Так что делай, что написано:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.2-fpm
sudo systemctl restart apache2.service

Ответ 3

Установка libcurl4 работала для меня, используя

apt install libcurl4

Затем установил php7.2-curl, перезапустил apache2 без проблем.