How to downgrade PHP from 5.5.9 to 5.4 in Ubuntu 14.04 (Installed with LAMP)

60,216

Solution 1

First you need to remove all php5 files :

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.5 | awk '{print $2}' | xargs`

After that try to search for php 5.4. available resources :

apt-cache policy php5

My result :

php5:
  Installed: (none)
  Candidate: 5.5.9+dfsg-1ubuntu4.4
  Version table:
     5.5.9+dfsg-1ubuntu4.4 0
        500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     5.5.9+dfsg-1ubuntu4 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

If there is no resources available than we need to add some by following command :

echo "deb http://php53.dotdeb.org stable all" | sudo tee -a /etc/apt/sources.list

and

apt-get update

If there is a problem with signatures like following :

Reading package lists... Done
W: GPG error: http://php53.dotdeb.org stable Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY xxxxxCODExxxx

we need to sign our Deb repository by commands :

gpg --keyserver keys.gnupg.net --recv-key xxxxxCODExxxx
gpg -a --export xxxxxCODExxxx | sudo apt-key add - apt-get update

After that execute :

sudo apt-get update
apt-cache policy php5

you should see last result :

php5:
  Installed: (none)
  Candidate: 5.5.9+dfsg-1ubuntu4.4
  Version table:
     5.5.9+dfsg-1ubuntu4.4 0
        500 http://archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     5.5.9+dfsg-1ubuntu4 0
        500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
     5.4.33-1~dotdeb.1 0
        500 http://php53.dotdeb.org/ stable/all amd64 Packages

and finally install your version by hitting :

apt-get install php5=5.4.33-1~dotdeb.1

Enjoy ;)

Solution 2

add dotdeb repo by following command :

echo "deb http://php53.dotdeb.org stable all" | sudo tee -a /etc/apt/sources.list

Fetch and install the GnuPG key

wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

Then

sudo apt-get update

The easy way to install the specific version is via synaptic

enter image description here

all done

enter image description here

also you should downgrade the apache to install right "libapache2-mod-php5"

add precise repo by the following command

echo "deb http://security.ubuntu.com/ubuntu precise-security main" | sudo tee -a /etc/apt/sources.list && sudo apt-get update

then

sudo aptitude install apache2=2.2.22-1ubuntu1.7

make sure you accept the following

The following actions will resolve these dependencies:

Install the following packages:
1) apache2-mpm-prefork [2.2.22-1ubuntu1.7 (precise-security)]
2) apache2.2-bin [2.2.22-1ubuntu1.7 (precise-security)]

then

sudo aptitude install libapache2-mod-php5=5.4.36-1~dotdeb.1

don't forget to set specific version when try to install an php package

sudo aptitude install php5-mysql=5.4.36-1~dotdeb.1
Share:
60,216

Related videos on Youtube

Hagaymosko
Author by

Hagaymosko

Updated on September 18, 2022

Comments

  • Hagaymosko
    Hagaymosko over 1 year

    I need to downgrade my PHP version from 5.5.9 to 5.4 (using Ubuntu 14.04), because I have a code that's using mySQL (which is deprecated in 5.5.9), and I cannot change that code. Is there a way to do it?

    *I tried the other threads that I saw about that issue in the site, but I couldn't find anything that helped me.

    • Admin
      Admin over 9 years
      How can I roll back after this command. I can't install phpmyadmin now
  • Aniruddha Sarkar
    Aniruddha Sarkar almost 10 years
    select it as ur answer
  • Hagaymosko
    Hagaymosko almost 10 years
    I don't have enough reputation :(
  • Hagaymosko
    Hagaymosko almost 10 years
    It didn't work...
  • AwokeKnowing
    AwokeKnowing over 9 years
    please note the EXACT version of php 5.4 available. the final step didn't work for me until I changed to 5.4.34 which is what is currently available. 5.4.33 is not there anymore
  • RTF
    RTF over 9 years
    I followed these instructions and there were no errors, the output of the final command apt-get install php5=5.4.35-1~dotdeb.1 indicated that it was installing the correct version, but php --version still show PHP 5.5.9-1ubuntu4.5
  • benedict_w
    benedict_w over 9 years
    @RTF I have exactly the same issue - did you resolve it?
  • RTF
    RTF over 9 years
    @benedict_w I didn't unfortunately, i just removed my legacy php dependency, which was the ultimate but most painful solution. If u can't get it working, you might have to build php from source
  • RTF
    RTF over 9 years
    Instructions for building from source on 14.04: stavrovski.net/blog/…
  • benedict_w
    benedict_w over 9 years
    Thanks. I am using Laravel 3 and it looks like an easy fix (github.com/laravel/laravel/commit/…) so I will just try and get it working on PHP 5.5 for now
  • Vurtle
    Vurtle over 9 years
    @fareednamrouti glad it will help you
  • Edenshaw
    Edenshaw over 8 years
    No gui for the wicked :( Running Ubuntu server.
  • kiradotee
    kiradotee almost 8 years
    I got W: Failed to fetch copy:/var/lib/apt/lists/partial/php53.dotdeb.org_dists_stabl‌​e_all_binary-amd64_P‌​ackages Invalid file format after adding php53.dotdeb.org to sources.list
  • Dark Cyber
    Dark Cyber about 7 years
    @aniruddha.sarkar I got error like kiradotee says.
  • Beto Aveiga
    Beto Aveiga almost 7 years
    Same error, still showing 5.5.9 with php -v. The weird thing is that with apt-cache policy php shows 5.4 installed.