Wie installiert man PHP 7?

PHP 7 ist [gestern] erschienen (http://php.net/archive/2015.php#id2015-12-03-1) und ich würde es gerne ausprobieren.

PHP 7.0.0 kommt mit einer neuen Version der Zend Engine, zahlreichen Verbesserungen und neuen Funktionen wie

  • Verbesserte Leistung: PHP 7 ist bis zu doppelt so schnell wie PHP 5.6
  • Deutlich reduzierte Speichernutzung
  • Abstrakter Syntaxbaum
  • Konsistente 64-Bit-Unterstützung
  • Verbesserte Ausnahmehierarchie Viele fatale Fehler wurden in Exceptions umgewandelt
  • Sicherer Zufallszahlengenerator
  • Alte und nicht unterstützte SAPIs und Erweiterungen wurden entfernt
  • Der Null-Koaleszenz-Operator (??) Return- und Skalartyp-Deklarationen
  • Anonyme Klassen
  • Nullkosten-Asserts

php.net


Ist es möglich, es auf der aktuellen Ubuntu-Version zu installieren?

Gibt es irgendwelche aktuellen Einschränkungen oder bekannte Kompatibilitätsprobleme?

Lösung

Sie können Folgendes tun:

sudo apt-get install python-software-properties software-properties-common
sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update

Optional können Sie PHP 5 bereinigen:

sudo apt-get remove php5-common -y

Oder bereinigen Sie es direkt, einschließlich der Konfigurationsdateien:

sudo apt-get purge php5-common -y

Und installieren Sie schließlich PHP 7:

sudo apt-get install php7.0 php7.0-fpm php7.0-mysql -y

Optional können Sie anschließend nicht benötigte Pakete bereinigen:

sudo apt-get --purge autoremove -y

Alternativ können Sie PHP 7.0 aus den Quellen installieren, indem Sie dieses Skript Skript verwenden oder den Anweisungen in diesem Blog folgen.

EDIT:

PHP5 wurde nun durch PHP7 als Standard-PHP in Ubuntu 16.4 ersetzt, so dass Sie PHP7 unter Ubuntu 16.04 installieren müssen:

sudo apt-get install php7.0 

Oder

sudo apt-get install php
Kommentare (14)

Sie haben zwei Möglichkeiten:

Warten Sie, bis es eine neue Ubuntu-Version gibt, die PHP7 enthält

Ubuntu veröffentlicht keine neuen Hauptversionen der meisten Software für bestehende Ubuntu-Versionen; um eine neue Hauptversion zu erhalten, müssen Sie auf eine neuere Version von Ubuntu warten.

Installieren Sie eine Version eines Drittanbieters, z. B. aus einem PPA

PPAs sind nicht an die Veröffentlichungspläne oder -richtlinien von Ubuntu gebunden, so dass sie u.a. die Freiheit haben, Versionen häufiger zu ändern.  Das in der Antwort von Tshilidzi Mudau erwähnte PPA ist eine beliebte Methode, um mit PHP auf dem neuesten Stand zu bleiben.

    sudo add-apt-repository ppa:ondrej/php

PPAs haben nicht denselben offiziellen Ubuntu-Support wie die von Ubuntu bereitgestellten Versionen und können aufgrund unterschiedlicher Zeitpläne und Richtlinien einen anderen Qualitäts- oder Sicherheitsstandard aufweisen. In diesem Fall ist der Entwickler, der dieses PPA zur Verfügung stellt, der Community hier bekannt.

Kommentare (1)

Der oben beschriebene Prozess hat bei meinem Ubuntu 15.10 Server nicht funktioniert, also dachte ich, ich teile mit, was funktioniert hat, falls andere es hilfreich finden.

Zuerst musste ich einige wichtige PHP 5-Module entfernen:

sudo apt-get -y purge php5 libapache2-mod-php5 php5 php5-cli php5-common php5-curl php5-gd php5-imap php5-intl php5-json php5-mcrypt php5-mysql php5-pspell php5-readline php5-sqlite

Dann entfernte ich ein paar zusätzliche Dinge, die zurückgeblieben waren:

sudo apt-get autoremove

Installieren Sie dann PHP 7.0:

sudo apt-get install php7.0

Als dann PHPMyAdmin entfernt wurde, konnte Apache2 nicht starten, so dass ich die Konfigurationsdatei entfernen musste (ich hätte sie auch verschieben können):

sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf

Dann musste ich Apache2 neu starten:

sudo service apache2 restart

PHP 7.0 lief dann (bestätigt mit PHPINFO();)

Ich habe jedoch festgestellt, dass die einzige Möglichkeit, PHPMyAdmin zum Laufen zu bringen, darin besteht, es manuell zu installieren/zu aktualisieren, da die neueste Version, die in den Quellen verfügbar ist, PHP 7 noch nicht unterstützt.

**EDIT: Ich habe jetzt eine Möglichkeit gefunden, PHPMyAdmin auf eine kompatible Version zu aktualisieren, ohne es aus GIT zu klonen oder manuell aus den Quellen zu kompilieren, daher füge ich dies unten hinzu:

Fügen Sie zunächst dieses Repository hinzu, aktualisieren Sie die Quellenliste und führen Sie ein Upgrade durch (Achtung: Wenn es während des Upgrades auf PHP7 entfernt wurde, müssen Sie es installieren, anstatt es zu aktualisieren):

sudo add-apt-repository ppa:nijel/phpmyadmin
sudo apt-get update
sudo apt-get dist-upgrade

Während der Installation (auf meinem Server) musste jedoch ein Datenbank-Upgrade-Skript upgrade_column_info_4_3_0+.sql ausgeführt werden, was jedoch mit dem folgenden Fehler fehlschlug:

mysql said: ERROR 1060 (42S21) at line 28: Duplicate column name 'input_transformation'

Ich beschloss, den Fehler zu ignorieren und das Upgrade abzuschließen. Nach der Installation öffnete ich das .sql-Upgrade-Skript unter /usr/share/phpmyadmin/sql/upgrade_column_info_4_3_0+.sql

Ich führte das Skript manuell aus und entfernte die beiden fehlerhaften Zeilen, die versuchten, 2 Spalten zu erstellen, die bereits existierten (zu entfernender Code):

ALTER TABLE `pma__column_info`
ADD `input_transformation` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
ADD `input_transformation_options` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '';

Schließlich musste ich die Konfigurationsdatei unter /etc/phpmyadmin/config.inc.php bearbeiten und die folgenden zwei Zeilen hinzufügen:

$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

Danach ist PHPMyAdmin erfolgreich aktualisiert worden und die erweiterten Funktionen sind aktiviert. Ich hoffe, dies hilft anderen.

Kommentare (0)