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.
CodePudding user response:
You need to disable the PHP 8.1 and enable the php 7.4
Try this:
sudo a2dismod php8.1
after:
sudo a2enmod php7.2
CodePudding user response:
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
sudo a2dismod php8.1
then
sudo a2enmod php7.4
after that restart apache2. And resolve the issue. I also switch the PHP version using this command:
sudo update-alternatives --config PHP
and restart the apache again. All is good now. Thank you.