Plesk – Multiple PHP Versionen installieren (Debian/Ubuntu/CentOS)
Ab der Plesk Panel Version 11.5.x ist es möglich multiple PHP Version zu installieren. Diese sind dann unter dem FastCGI Module in Plesk selektierbar. In dieser Anleitung zeige ich die Installation der aktuellen Version PHP 5.5.15.
Punkt 1 (Debian/Ubuntu): Herunterladen und Entpacken
Unter http://php.net/downloads.php könnt ihr die gewünschte Version herunterladen. Ich nehme als Beispiel php-5.5.15.tar.gz. Pfadnamen in dieser Anleitung bitte anpassen!
1 2 3 | localhost:~# cd /usr/local/src/ localhost:/usr/local/src# wget http://de1.php.net/get/php-5.5.15.tar.gz/from/this/mirror -O php-5.5.15.tar.gz localhost:/usr/local/src# tar xf php-5.5.15.tar.gz |
Punkt 2 (Debian/Ubuntu): Kompilieren und Installieren
Zuerst installieren wir nötige Pakete.
1 | apt-get install make gcc libxml2-dev |
Jetzt beginnen wir mit der Kompilierung und Installation.
Bitte denkt an die Pfadnamen der verwendeten Version!
1 2 3 4 5 | localhost:/usr/local/src# cd php-5.5.15/ localhost:/usr/local/src/php-5.5.15# mkdir -p /usr/local/php-5.5.15 localhost:/usr/local/src/php-5.5.15# ./configure '--with-libdir=lib64' '--cache-file=../config.cache' '--prefix=/usr/local/php-5.5.15' '--with-config-file-path=/usr/local/php-5.5.15/etc' '--disable-debug' '--with-pic' '--disable-rpath' '--enable-fastcgi' '--with-bz2' '--with-curl' '--with-freetype-dir=/usr/local/php-5.5.15' '--with-png-dir=/usr/local/php-5.5.15' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr/local/php-5.5.15' '--with-openssl' '--with-pspell' '--with-pcre-regex' '--with-zlib' '--enable-exif' '--enable-ftp' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-wddx' '--with-kerberos' '--with-unixODBC=/usr' '--enable-shmop' '--enable-calendar' '--without-sqlite3' '--with-libxml-dir=/usr/local/php-5.5.15' '--enable-pcntl' '--enable-mbstring' '--enable-mbregex' '--with-gd' '--enable-bcmath' '--with-xmlrpc' '--with-mysql=/usr' '--with-mysqli' '--with-snmp' '--enable-soap' '--with-xsl' '--enable-xmlreader' '--enable-xmlwriter' '--enable-pdo' '--with-pdo-mysql' '--with-pdo-pgsql' '--with-pear=/usr/local/php-5.5.15/pear' '--with-mcrypt' '--enable-intl' '--without-pdo-sqlite' '--with-config-file-scan-dir=/usr/local/php-5.5.15/php.d' localhost:/usr/local/src/php-5.5.15# make localhost:/usr/local/src/php-5.5.15# make install |
Punkt 3 (Debian/Ubuntu): php.ini kopieren
1 | localhost:/usr/local/src/php-5.5.15# cp -a php.ini-development /usr/local/php-5.5.15/php.ini |
Punkt 4 (Debian/Ubuntu): PHP Handler hinzufügen
Nun fügen wir unsere neue PHP Version dem Plesk Panel zu.
Bitte denkt an die Pfadnamen und Bezeichnungen der verwendeten Version!
1 2 | localhost:/usr/local/src/php-5.5.15# /usr/local/psa/bin/php_handler --add -displayname 5.5.15 -path /usr/local/php-5.5.15/bin/php-cgi -phpini /usr/local/php-5.5.15/php.ini -type fastcgi -id 5.5.15 The new PHP handler with the id "5.5.15" was successfully registered. |
Das Ergebnis sollte wie folgt ausschauen.
1 2 3 4 5 6 | localhost:/usr/local/src/php-5.5.15# /usr/local/psa/bin/php_handler --list id: display name: full version: version: type: cgi-bin: php.ini: custom: module 5.4.4 5.4.4 5.4 module /usr/bin/php5-cgi /etc/php5/cgi/php.ini false fastcgi 5.4.4 5.4.4 5.4 fastcgi /usr/bin/php5-cgi /etc/php5/cgi/php.ini false cgi 5.4.4 5.4.4 5.4 cgi /usr/bin/php5-cgi /etc/php5/cgi/php.ini false 5.5.15 5.5.15 5.5.15 5.5 fastcgi /usr/local/php-5.5.15/bin/php-cgi /usr/local/php-5.5.15/php.ini true |
Punkt 5 (Debian/Ubuntu): PHP Auswahl unter Plesk
In Plesk kann die neue Version pro Domain ausgewählt werden.
1 2 3 | Plesk > Domains > domain.de > Hosting-Einstellungen > PHP-Unterstützung (PHP ausführen als FastCGI-Applikation , PHP-Version 5.5.15) |
Punkt 1 (CentOS): Installation
Die Installation weiterer PHP Versionen unter CentOS gestaltet sich dank PHP Panda recht einfach.
Unter CentOS 6.5 wird aktuell PHP 5.4, 5.5 und 5.6 angeboten.
1 2 | [root@localhost ~]# wget -q -O - http://www.atomicorp.com/installers/atomic |sh [root@localhost ~]# yum install plesk-php-panda |
Das Ergebnis sollte wie folgt ausschauen.
1 2 3 4 5 6 7 8 | [root@localhost ~]# /usr/local/psa/bin/php_handler --list id: display name: full version: version: type: cgi-bin: php-cli: php.ini: custom: module 5.4.31 5.4.31 5.4 module /usr/bin/php-cgi /etc/php.ini false fastcgi 5.4.31 5.4.31 5.4 fastcgi /usr/bin/php-cgi /etc/php.ini false cgi 5.4.31 5.4.31 5.4 cgi /usr/bin/php-cgi /etc/php.ini false fastcgi-54 Atomic 5.4 5.4.31 5.4 fastcgi /opt/atomic/atomic-php54/root/usr/bin/php-cgi /opt/atomic/atomic-php54/root/etc/php.ini true fastcgi-55 Atomic 5.5 5.5.15 5.5 fastcgi /opt/atomic/atomic-php55/root/usr/bin/php-cgi /opt/atomic/atomic-php55/root/etc/php.ini true fastcgi-56 Atomic 5.6 5.6.0 5.6 fastcgi /opt/atomic/atomic-php56/root/usr/bin/php-cgi /opt/atomic/atomic-php56/root/etc/php.ini true |
Sollte PHP 5.2 und 5.3 benötigt werden, muss noch das Nucleus Repository hinzugefügt und zwei weitere Pakete installiert werden.
1 2 | rpm -Uhv http://updates.atomicorp.com/channels/atomic/centos/6/x86_64/RPMS/nucleus-release-1.0-20.el6.art.noarch.rpm yum install plesk-php53-panda plesk-php52-panda |
Punkt 2 (CentOS): PHP Auswahl unter Plesk
In Plesk kann die neue Version pro Domain ausgewählt werden.
1 2 3 | Plesk > Domains > domain.de > Hosting-Einstellungen > PHP-Unterstützung (PHP ausführen als FastCGI-Applikation , PHP-Version Atomic 5.5) |
Update:
Aktuell sind PHP-Pakete vom Plesk Team nur unter CentOS 6, CentOS 7 und Ubuntu 14 verfügbar. Ab Plesk 12.1 werden wir die Liste der unterstützten Betriebssysteme um Ubuntu 12 und Debian erweitern. Mehr unter http://kb.odin.com/de/125146 .
Danke für das Tutorial.
Ich habe allerdings noch memached im Einsatz.
Wie bekomme ich die php extension installiert?
Danke
Hallo,
es kommt auf deine Distribution an, für gewöhnlich sollte das Paket php5-memcached heißen.
Hallo habe alles wie beschrieben gemacht aber dennoch scheitere ich am php handler der mir sagt
ERR (3) [util_exec]: proc_close() failed
Unable to register the PHP handler: Binary /usr/local/php-5.6.3/bin/php-cgi doesn’t exists
habe mir extra die neue Version von php geladen die 5.6.3
bitte um schnelle hilfe und bedanke mich schon im vorraus =)
Hi,
wie es scheint wurde die Version 5.6.3 nicht korrekt kompiliert. Denn /usr/local/php-5.6.3/bin/php-cgi gibt es bei dir nicht. Hast du denn alle Pfade beim “configure” korrekt geändert?
Hallo,
wie kann ich noch für die multiple PHP Version den apcu cache einrichten?
Für eine schnelle Antwort bedanke ich mich im voraus.
Danke! Diese Anleitung hat mir unter Debian 7.5 mit PHP 5.6.3 sehr geholfen. Habe jetzt 2 Php-Versionen im Plesk 12 und kann für jeden vhost eine andere auswählen.
./configure … hat leider oft abgebrochen, weil verschiedene Pakete gefehlt haben. Nachdem diese alle nachinstalliert waren lief der Rest wie geschmiert.
Habe „erfolgreich“ PHP 5.6.4 installieren können. Im Panel kann ich die Version auch auswählen. Führe ich ein phpinfo() aus, erscheint noch immer 5.3.x
Eine Idee?
Habe alles genau nach anleitung durchgeführt. Bei Punkt 2 „make“ erscheint der Fehler „Keine Targets angegeben und keine »make«-Steuerdatei gefunden. Schluss.“.
Was fehlt?
Habe php panda installiert und kann die Versionen auch domain-seitig auswaehlen, aber ein „php —version“ auf der command-line gibt mir immer noch die 5.3.3. Ich brauche allerdings die 5.4 oder groesser hier um eine php library zu installieren, die >5.3.9 auf dem Server braucht. Was muss ich tun?
Danke für dieses Tutorial. Trotz meiner geringen Linux-Kenntnisse habe ich es geschafft PHP 5.4.37 zu installieren.
Allerdings möchte ich noch APC nutzen. Wenn ich die vorinstallierte PHP 5.3 in Plesk auswähle funktioniert APC, wenn ich 5.4 auswähle, dann nicht mehr.
Anmerkung:
PHP (http://php.net/manual/en/configure.about.php) sagt, dass das Kommando „enable-fastcgi“ nicht mehr wirksam sei, man muss „–disable-cgi“ angeben bei ./configure, um fastcgi zu aktivieren.
Bei der Centos installation bekomme ich einen Transaction error?
In Plesk 12 ist es bei den Hosting Einstellungen nicht möglich eine andere PHP-Version auszuwählen.
—————————————————-
Transaction Check Error:
file /etc/php-fpm.conf from install of atomic-php54-php-fpm-5.4.38-44.el6.art.x86_64 conflicts with file from package php-fpm-5.3.3-40.el6_6.x86_64
—————————————————-
Hi,
funktioniert es, wenn du php-fpm-5.3.3-40.el6_6.x86_64 vorher entfernst?
Super. Die Anleitung hat bei beinem Setup (Ubuntu 12 Plesk 12 VServer Hosteurope) einwandfrei funktioniert.
Vielen Dank!
Sehr gut gemacht, eine Beschreibung eines gut gestaltete Arbeit perfekt.
Hallo,
Spitzen Anleitung und warscheinlich die einzig brauchbare im Netz. Ich hätte da trotzdem noch eine Frage/Anmerkung.
bei .configure, kann ich da noch „–enable-zip“ anhängen? Dann könnte php zur Laufzeit komprimieren etc. Geht das? (Wird bei WordPress im Revolution-Slider benötigt, wenn man *.zip-Backups von Slidern wieder einspielen will)
Lieben Dank
Sebastian
Hallo!
Erstmal vielen Dank für die Anleitung, Diese hat bei mir CentOS 6.7 super funktioniert.
Allerdings nach einen yum update habe ich jetzt folgendes Problem:
php
Failed loading /usr/lib64/php/ioncube/ioncube_loader_lin_5.2.so: /usr/lib64/php/ioncube/ioncube_loader_lin_5.2.so: undefined symbol: php_body_write
PHP Fatal error: Directive ’safe_mode‘ is no longer available in PHP in Unknown on line 0
Hast du da eventuell eine Idee, wie ich das beheben kann? Bei Plesk ist das so eine sache, ich weiß nicht wo ich eventuell eine php.ini anfassen muss, sollte irgendwo ein falsches Modul eingebunden sein.
Vielen Dank schon mal!
Dirk
Klasse Tutorial! Ich habe das gerade benötigt und es hat alles bestens funktioniert. Ich habe nur das Problem, dass Ioncube nicht mit umschaltet, aber das kann ich immer manuell in der php.ini ändern. Ist ja nur eine Zeile.
Danke!
Hallo,
ich weiß das es schon etwas älter ist. Ich habe meinem Plesk 12.0.18 auf diesem Wege ein paar PHP-Versionen mehr beigebracht. Es laufen eine Menge Domains im Produktivbetrieb darüber.
Meine Frage wäre, da es mir schon eine Weile angeboten wird, kann ich das Update auf Plesk 12.5.x einfach rüberspielen? Dort kann Plesk ja nun endlich mehrere PHP-Versionen selber verarbeiten. Was passiert mit bereits zugewiesenen Versionen zu Domains?
Hat hier schon jemand Erfahrungen gesammelt?
Vielen Dank
Sebastian
bekomme bei dem Befehl „make“ diese Fehlermeldung: Es wurden keine Ziele angegeben und keine „make“-Steuerdatei gefunden. Schluss.
hier komme ich auch nicht weiter einer einen Tip?
Gruß Jörg
Hallo Jörg,
es hat sich einiges getan. Mittlerweile sind wir bei Plesk 18.x angekommen. Dort kannst du im Updater einfach weitere PHP Versionen auswählen und installieren. Da ist alles von PHP 5.2 bis 7.4 dabei.
Gruß
Dominion
Hallo ein Freund ist innerhalb von Strato umgezogen und da ist Plesk Obsidian Version 18.0.21 drauf dort kann ich unter PHP interpreter versions minimum 7.0 auswählen, benötige dringend Hilfe 🙁
hänge nur am Pfad fest, weil der make Befehl nicht ausgeführt werden kann.
Hallo Jörg,
bist du sicher das du noch < PHP 7.0 einsetzen möchtest? Ich denke das Anpassen des alten PHP Scriptes ist da der bessere Weg.
Aber dein "make" Fehler klingt danach, dass du make nicht in dem Ordner ausführst wo das ganze etpackte PHP liegt.
Gruß
Dominion
Vielen Dank für die Anleitung.
Hallo, danke für Euren tollen Artikel über das Thema Plesk. Ich beschäftige mich gerade sehr intensiv mit Plesk und der Blogbeitrag hat mir sehr geholfen. Danke dafür – keep up the good work.
Grüße Max
Super Anleitung, vielen Dank! Bei dem Setup hat es funktioniert
Danke für die super Anleitung
Super Guide danke dafür!