PHP 5.4 oder 5.5 Upgrade unter Debian/CentOS
Aktuell liefern die beliebten Server Betriebssysteme Debian und CentOS kein PHP 5.4 bzw. 5.5. In diesem Tutorial möchte ich euch zeigen, wie euer System eine aktuellere PHP Version erhält.
→ Was sich in PHP 5.5.x geändert hat.
Standardmäßig installierte PHP Versionen:
- Debian 6 „Squeeze“ -> PHP 5.3.3
- Debian 7 „Wheezy“ -> PHP 5.4.4
- CentOS 5 -> PHP 5.1.6
- CentOS 6 -> PHP 5.3.3
Debian 6 „Squeeze“
Zuallererst möchte ich euch bitten Debian 6 „Squeeze“ auf Version 7 zu aktualisieren, Debian 7 „Wheezy“ ist bereits seit dem 04. Mai 2013 draußen.
Unter Debian 6 „Squeeze“ ist es möglich zumindest PHP 5.4 aus dem Dotdeb Repository zu installieren. Bearbeitet mit eurem gewohnten Editor /etc/apt/sources.list
und fügt diese beiden Zeilen hinzu.
1 2 | deb http://packages.dotdeb.org squeeze-php54 all deb-src http://packages.dotdeb.org squeeze-php54 all |
Jetzt laden wir den GnuPG Key für das Dotdeb Repository herunter und installieren diesen.
1 | wget http://www.dotdeb.org/dotdeb.gpg -O - | apt-key add - |
Nun installieren oder aktualisieren wir PHP 5.4.
1 2 | apt-get update apt-get install php5 |
Debian 7 „Wheezy“
Ein PHP Upgrade unter Debian 7 „Wheezy“ ist mit dem Dotdeb Repository bis auf die aktuellste Version PHP 5.5 möglich. Bearbeitet mit eurem gewohnten Editor /etc/apt/sources.list
und fügt diese beiden Zeilen hinzu.
1 2 | deb http://packages.dotdeb.org wheezy-php55 all deb-src http://packages.dotdeb.org wheezy-php55 all |
Jetzt laden wir den GnuPG Key für das Dotdeb Repository herunter und installieren diesen.
1 | wget http://www.dotdeb.org/dotdeb.gpg -O - | apt-key add - |
Nun installieren oder aktualisieren wir PHP 5.5.
1 2 | apt-get update apt-get install php5 |
Version prüfen (Stand: Februar 2014).
1 2 3 4 5 | # php -v PHP 5.5.9-1~dotdeb.1 (cli) (built: Feb 9 2014 19:39:50) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies |
Downgrade bei Problemen
Sollten sich wider erwartet Fehler auf den Webseiten zeigen, könnt ihr die neuen Pakete löschen und die Distributions-PHP-Pakete wieder installieren.
Dotdeb PHP Pakete auflisten.
1 2 3 4 5 6 7 8 9 10 11 12 | # dpkg -l | grep "php.*dotdeb" ii libapache2-mod-php5 5.5.9-1~dotdeb.1 amd64 server-side, HTML-embedded scripting language (Apache 2 module) ii php5 5.5.9-1~dotdeb.1 all server-side, HTML-embedded scripting language (metapackage) ii php5-cgi 5.5.9-1~dotdeb.1 amd64 server-side, HTML-embedded scripting language (CGI binary) ii php5-cli 5.5.9-1~dotdeb.1 amd64 command-line interpreter for the php5 scripting language ii php5-common 5.5.9-1~dotdeb.1 amd64 Common files for packages built from the php5 source ii php5-curl 5.5.9-1~dotdeb.1 amd64 CURL module for php5 ii php5-gd 5.5.9-1~dotdeb.1 amd64 GD module for php5 ii php5-imap 5.5.9-1~dotdeb.1 amd64 IMAP module for php5 ii php5-mcrypt 5.5.9-1~dotdeb.1 amd64 MCrypt module for php5 ii php5-mysql 5.5.9-1~dotdeb.1 amd64 MySQL module for php5 ii php5-xsl 5.5.9-1~dotdeb.1 amd64 XSL module for php5 |
Pakete löschen.
1 | apt-get remove libapache2-mod-php5 php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-imap php5-mcrypt php5-mysql php5-xsl |
Kommentiert das Dotdeb Repository aus.
1 2 3 4 | [..] # deb http://packages.dotdeb.org wheezy-php55 all # deb-src http://packages.dotdeb.org wheezy-php55 all [..] |
Aktualisiert die Paketdatenbank und installiert die Distributions-Pakete wieder.
1 2 | apt-get update apt-get install libapache2-mod-php5 php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-imap php5-mcrypt php5-mysql php5-xsl |
CentOS 5
Es gibt mehrere Repositories die PHP 5.5.x anbieten, zwei möchte ich hier beschreiben. Es gibt jedoch noch weitere, die Entscheidung überlasse ich euch.
Remi Repo
1 2 | rpm -Uhv http://rpms.famillecollet.com/enterprise/remi-release-5.rpm yum --enablerepo=remi-php55,remi update php\* |
Webtatic Repo
1 2 | rpm -Uvh http://mirror.webtatic.com/yum/el5/latest.rpm yum install php55w php55w-opcache |
Bei Abhängigkeitsproblemen hilft yum replace
.
1 2 | yum install yum-plugin-replace yum replace php-common --replace-with=php55w-common |
CentOS 6
Es gibt mehrere Repositories die PHP 5.5.x anbieten, zwei möchte ich hier beschreiben. Es gibt jedoch noch weitere, die Entscheidung überlasse ich euch.
Remi Repo
1 2 | rpm -Uhv http://rpms.famillecollet.com/enterprise/remi-release-6.rpm yum --enablerepo=remi-php55,remi update php\* |
Webtatic Repo
1 2 | rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm yum install php55w php55w-opcache |
Bei Abhängigkeitsproblemen hilft yum replace
.
1 2 | yum install yum-plugin-replace yum replace php-common --replace-with=php55w-common |
CentOS PHP 5.4 wird ebenfalls im Webtatic Repository angeboten, ersetzt einfach php55w mit php54w.
0
Eines was mich sehr stört ist, das viele vergessen das man die Finger von der Source Liste lassen soll.
Bei einem Upgrade werden dort alle nicht systemrelevanten Repos deaktiviert.
Daher gibt es einen seperaten Ordner.