How to downgrade PHP from 5.5.9 to 5.4 in Ubuntu 14.04 (Installed with LAMP)
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 ;)
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
all done
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