Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

After Ubuntu 18.04 upgrade php7.2-curl cannot be installed

Upgraded to 18.04 from 16.04 today using do-release-upgrade -d

During the upgrade I was informed that some packages would be removed, these included:

Remove: libperl5.22 lxc-common perl-modules-5.22 php-imagick
php7.1-curl php7.2-curl python3-certbot-nginx

I could re-install imagick and certbot without issue, but if I try to install php7.2-curl I get the message:

# 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.

How can I correct the situation?

like image 716
Arni J Avatar asked May 08 '18 20:05

Arni J


2 Answers

This can save you:

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

Then sudo service apache2 restart

like image 109
Anson Wong Avatar answered Oct 20 '22 12:10

Anson Wong


You don't need to add a new repo. Just do this and the 7.2 version will be installed. Remember to restart php and apache after. Also make sure (you've prob already done this though) to enable the new mod after:

sudo apt install php-curl
sudo a2enmod php7.2

You'll also notice probably that at the end of the install of php-curl (which installs php-curl and php7.2-curl) the following (Note that I have FPM setup, might look different if you're not using 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.

So do what it says:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php7.2-fpm
sudo systemctl restart apache2.service
like image 3
J-a-n-u-s Avatar answered Oct 20 '22 11:10

J-a-n-u-s