Install PHP 5.2 on Ubuntu 12.04 LTS

Remark: you should already have switched to PHP5.3 and heck, even 5.4…. but some old projects aren’t worth the dev time to update the code to PHP 5.3 or 5.4.

Having issues with your PHP 5.2 legacy websites after migrating them to new hardware and OS releases, which normally run on PHP5.3 or 5.4?

The best way to install PHP5.2 is by adding Karmic repositories to your apt sources. This way, you can simply install PHP 5.2 from package.

An easy way to add the sources is by running a small shell script that:

1) Creates a list of all your currently installed PHP packages.

2) Create the karmic.list files sources.list.d, holding the correct repo’s

3) Create a prefences file in /etc/apt/preferences.d, that pins your PHP version to the PHP5.2 version.

This script is copy pasted from Khalid:

There are of course other ways of installing PHP5.2 on Ubuntu 12.04 LTS, but this one works for me… and I have had no issues so far on my servers and sites..

Credits to: Randy Fay and Khalid


Due to the fact that karmic is no longer in the Archive repo’s, the script needs a little change (replace archive by old-releases)




Today we had a crashed server that needed to be reinstalled. We had some problem with the PIN priority, packages installed still were 5.3.10… Bugger.

But looking a little further, you can use apt-mark hold to ‘pin’ package version to the installed packages.

So we had to install the PHP5.2 packages and ‘hold’ them to that version using:





Leave a Reply

Your email address will not be published. Required fields are marked *