Ubuntu 14.04: Probleme beim Upgrade von PHP auf 5.6 mit ppa:ondrej

Ubuntu 14.04: Probleme beim Upgrade von PHP auf 5.6 mit ppa:ondrej

Ich habe Folgendes getan:

sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5.6
sudo add-apt-repository ppa:ondrej/apache2

Wenn ich versuche, die alte Version von PHP 5 mit folgendem zu deaktivieren:

sudo phpdismod php5

Ich erhalte die Fehlermeldung: WARNUNG: Die INI-Datei des Moduls php5 existiert nicht unter /etc/php/5.6/mods-available

Auch wenn ich die INI-Datei in dieses Verzeichnis verschiebe, erhalte ich den gleichen Fehler. Ich weiß nicht, was mir entgeht??

Kann mir im Allgemeinen jemand erklären, wie ich meine Instanz dazu bringe, die neu installierte Version zu verwenden, da ich auf meiner Instanz anscheinend immer noch beide PHP-Verzeichnisbäume habe. php5/.. und php/5.6

Antwort1

Sie mischen verschiedene PPAs, Versionen und Befehle auf inkompatible Weise. Lassen Sie uns das aufschlüsseln:

  1. libapache2-mod-php5.6ist vorhanden ppa:ondrej/phpund das ist wirklich das PPA, das Sie verwenden möchten

  2. phpdismodist ein Befehl zum Deaktivieren von PHP-Erweiterungen und nicht zum Verwalten von Apache2-Modulen. Sie benötigen a2dismoddafür

  3. Das PHP Apache2 Modul ppa:ondrej/php5-5.6heißtlibapache2-mod-php5

Korrekt wäre also:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php5-common # remove and purge old PHP 5.x packages
sudo apt-get install libapache2-mod-php5.6

Wenn Sie Pakete nicht php5-*zuerst deinstallieren, müssen Sie das php5Modul deaktivieren und php5.6das Modul aktivieren:

sudo a2dismod php5
sudo a2enmod php5.6

Und fügen Sie optional das Apache2-Repository hinzu:

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get dist-upgrade

Da ist einMigrationsleitfadenverfügbar für PPA-Pakete.

verwandte Informationen