Recently I upgrade my Ubuntu from 20 to 22. I was using Php7.4 in Ubuntu 20 with the Apache server. After upgrading to Ubuntu 22, the Php Upgrades to 8.1 automatically. After that, I install Php7.4 also in my system. I can switch PHP version by using this command:
sudo update-alternatives --config php
If I use terminal I can see different PHP versions using php -v
. But I am unable to use Php7.4 in apache. I am trying to install using this command:
sudo apt-get install libapache2-mod-php7.4
But it’s giving me the following error:
Reading package lists... Done
Building dependency tree... Done
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:
libapache2-mod-php7.4 : Depends: php8.1-common (= 8.1.2-1ubuntu2) but 8.1.5-1+ubuntu22.04.1+deb.sury.org+1.1 is to be installed
E: Unable to correct problems, you have held broken packages.
Again if I try to activate Php7.4 in apache using this command:
sudo a2enmod php7.4
I am getting this error:
ERROR: Module php7.4 does not exist!
Now how can I use Php7.4 in my Apache? Note, that Apache was installed in Ubuntu 20.
3
Answers
I posted in AskUbuntu and got the solution. This is the link https://askubuntu.com/questions/1405324/how-can-i-use-php7-4-in-my-apache-in-ubuntu-22.
The solution is, In the "Application & Update" panel "For other packages, subscribe to:" I changed it from "all updates" to "only security patches/updates"- and when I changed it back to "all updates"- I could finally install everything. Then I did
then
after that restart apache2. And resolve the issue. I also switch the PHP version using this command:
and restart the apache again. All is good now. Thank you.
You need to disable the PHP 8.1 and enable the php 7.4
Try this:
after:
The problem seems to be related to Ubuntu 22* not including
php 7.4
, you need to add an external repository.Try the following:
sudo apt update && sudo apt upgrade
sudo add-apt-repository ppa:ondrej/php -y
sudo apt install php7.4
sudo apt install php7.4-{cli,common,curl,zip,gd,mysql,xml,mbstring,json,intl}
sudo update-alternatives --config php
php 7.4.
sudo apt-get install libapache2-mod-php7.4
And now it will work!
Source.
I had exactly the same problem and this worked for me.