Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use Php7.4 in my Apache in Ubuntu 22?

Tags:

php

apache

ubuntu

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.

like image 453
Md Sadequr Rahman Avatar asked Sep 16 '25 14:09

Md Sadequr Rahman


2 Answers

The problem seems to be related to Ubuntu 22* not including php 7.4, you need to add an external repository.

Try the following:

  1. sudo apt update && sudo apt upgrade
  2. sudo add-apt-repository ppa:ondrej/php -y
  3. sudo apt install php7.4
  4. sudo apt install php7.4-{cli,common,curl,zip,gd,mysql,xml,mbstring,json,intl}
  5. sudo update-alternatives --config php
  6. Select php 7.4.
  7. 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.

like image 87
Matías Martín Avatar answered Sep 19 '25 04:09

Matías Martín


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
like image 37
Tarcísio Quaresma Avatar answered Sep 19 '25 06:09

Tarcísio Quaresma