
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:
libapache2-mod-php5.6
ist vorhandenppa:ondrej/php
und das ist wirklich das PPA, das Sie verwenden möchtenphpdismod
ist ein Befehl zum Deaktivieren von PHP-Erweiterungen und nicht zum Verwalten von Apache2-Modulen. Sie benötigena2dismod
dafürDas PHP Apache2 Modul
ppa:ondrej/php5-5.6
heiß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 php5
Modul deaktivieren und php5.6
das 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.