PHP Logo

Bei der aktuellsten Debian Version (7.4) wird standardmäßig PHP 5.4.x installiert. Nun kann es allerdings vorkommen, dass noch nicht alle Skripte bereits kompatibel mit dieser Version sind. Was tun? Ich habe mich dazu entschlossen ein Downgrade auf PHP 5.3 durchzuführen.

In diesem Artikel versuche ich kurz zu beschreiben wie das ganze zu bewerkstelligen ist.

Nach dem Downgrade auf PHP 5.3 habt ihr allerdings nur Version 5.3.3 installiert, wenn ihr eine höhere Version benötigt müsst ihr auf dotdeb zurückgreifen. In den letzten Absätzen dieses Beitrages findet ihr noch die Anleitung wir ihr diese installieren könnt.

sources.list anpassen

Damit wir überhaupt die alten Quellen für PHP finden müssen wir die sources.list anpassen:

vi /etc/apt/sources.list

anschließend fügen wir foglendes ein:

# downgrade PHP 5.3
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

preferences Datei anlegen

Damit wir überhaupt die alte PHP Version installieren können, legen wir uns eine preferences Datei mit folgendem Inhalt an:

vi /etc/apt/preferences.d/preferences

Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700

Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

PHP erneut installieren

Beim Upgrade wurde bereits PHP (5.4) installiert. Wir müssen deshalb PHP neu installieren, diesmal wird der Server allerdings PHP 5.3 "finden". Damit wir uns nicht merken müssen welche PHP Pakete wir installiert haben, ist es von Vorteil diese in eine Variable zu speichern.

PHP=$(dpkg -l|grep php|grep 5.4.4|awk '{print $2}')

Zum erneut installieren müssen wir folgenden Befehl absetzen:

apt-get update
apt-get install --reinstall $PHP

Prüfen welche Version installiert ist

Um nun zu prüfen welche Version installiert worden ist, geben wir auf der Konsole einfach ein php -v ein. Nun sollte als Ausgabe folgendes erscheinen:

PHP Version 5.3.3-7+squeeze18

aktuellste PHP 5.3 Version installieren

Leider scheint es so, als gäbe es offiziell nicht die aktuellste Version, diesse ist momentan bei 5.3.28. Hier können wir allerdings nur auf dotdeb setzen. In ein paar wenigen Schritten sind wir dann auch schon bei der aktuellsten Version des 5.3er Zweigs.

Wir passen erneut die sources.list an und fügen folgende Einträge hinzu (die alten Einträge, die ich oben beschrieben hatte, können gelöscht werden).

vi /etc/apt/sources.list

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all

Installieren des GnuGP Schlüssels

Jetzt müssen wir nur noch den Schlüssel in unseren Schlüsselbund speichern und schon können wir updaten:

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

Update durchführen

Nach einem apt-get update && apt-get upgrade haben wir die neueste Version installiert. Nach Neustart des Apache (/etc/init.d/apache restart) sollte alles reibungslos funktionieren.