Php5 kann unter Ubuntu 16.04 nicht installiert werden

53

Daher habe ich kürzlich mein erstes Ubuntu, genauer gesagt ein tägliches Build von 16.04, auf meinem neuen Laptop installiert, da die Hardware für 15.10 zu neu war. Jetzt bin ich dabei, es einzurichten und ich möchte PHP5 und einige Erweiterungen installieren.

Beim Ausführen sudo apt-get install libapache2-mod-php5erhalte ich die Fehlermeldung, dass für php5 und libapache2 kein Installationspaket verfügbar ist.

Die Fehlermeldung ist in Deutsch, daher bezweifle ich, dass dies helfen würde, aber hier ist es sowieso. :-) E: For package »libapache2-mod-php5« existiert kein Installationskandidat.

Muss ich ein Apt-Get-Repository hinzufügen? Oder was mache ich falsch?

user529857
quelle

Antworten:

76

TL; DR: Wenn du bei PHP5 bleiben willst, musst du bei Ubuntu 14.04 LTS bleiben

Verwendung von PHP 7.0 unter Ubuntu 16.04 LTS

Ubuntu 16.04 hat mit einer neuen Infrastruktur für PHP-Pakete auf PHP 7.0 umgestellt. Nein, Sie können php5 nicht unter Ubuntu 16.04 installieren, aber Sie können PHP 7.0-Pakete installieren mit:

apt-get install libapache2-mod-php

Dadurch wird ein virtuelles Paket installiert, das von der neuesten PHP-Version abhängt und libapache2-mod-php7.0als Abhängigkeit abgerufen wird .

Wenn Sie nach Erweiterungen suchen, verwenden Sie auch immer eine versionlose Variante (z. B. php-apcuanstelle von php7.0-apcu), da die PECL-Erweiterungen ohne die Version gepackt sind, um reibungslose Upgrades zu ermöglichen.

Verwenden von PHP PPA zum Deinstallieren von PHP 5.6 mit PHP 7.0

Es gibt eine Option, PHP 5.6-Pakete mit zu installieren ppa:ondrej/php.

Weitere Informationen finden Sie in dieser Antwort: https://askubuntu.com/a/762161/309221

Auszug aus obigem Link:

Angenommen, es libapache2-mod-phpist eine geeignete Möglichkeit, PHP in Apache für Sie zu aktivieren, können Sie folgendermaßen vorgehen:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

PHP-Version wechseln (Apache):

  • von php5.6 auf php7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • von php7.0 auf php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart

oerdnj
quelle
2
Nein, es gibt keine PHP 5.x-Pakete in Xenial-Repositorys. Nur in der PPA.
Oerdnj
Sieht so aus, als hätten Sie recht: bugs.launchpad.net/ubuntu/+source/php5/+bug/1522422
NoBugs
Wenn ich zu php5.6 wechsle, erhalte ich die Fehlermeldung "Job für apache2.service fehlgeschlagen, da der Steuerprozess mit Fehlercode beendet wurde. Weitere Informationen finden Sie unter" systemctl status apache2.service "und" journalctl -xe "."
Lyhong
Und was sagt das Tagebuch?
15.
so etwas wie dieses apache2 gefunden: Syntaxfehler in Zeile 140 von /etc/apache2/apache2.conf: Syntaxfehler in Zeile 3 von / e
lyhong
25

BEARBEITEN: Die akzeptierte Antwort sagt nicht ausdrücklich aus, wie PHP 5.6 und 7.0 zusammen installiert werden sollen, deshalb wollte ich sie erweitern.

Weitere Informationen finden Sie in dieser Antwort: https://askubuntu.com/a/762161/309221

Auszug aus obigem Link:

Angenommen, es libapache2-mod-phpist eine geeignete Möglichkeit, PHP in Apache für Sie zu aktivieren, können Sie folgendermaßen vorgehen:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

PHP-Version wechseln (Apache):

  • von php5.6 auf php7.0:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • von php7.0 auf php5.6:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart

FlavioEscobar
quelle
1
Zu Ihrer Information: Die von Ihnen verwendete PPA wird von der Person verwaltet, die die akzeptierte Antwort geschrieben hat. Und die letzte Zeile in dieser Antwort: "Es gibt eine Option, PHP 5.6-Pakete mit ppa: ondrej / php zusammen zu installieren". Beachten Sie, dass Sie auch keine PHP5-Pakete installieren, sondern PHP5.6
muru
1
Es gibt eine Reihe von Unterschieden in der Verpackung und dem Speicherort der Konfigurationsdateien, die jeden überraschen, der nach den alten PHP5-Paketen sucht.
muru
Ich habe meine Antwort so bearbeitet, dass nicht angegeben wird, dass die akzeptierte Antwort falsch war, sondern dass sie nur erweitert wird.
FlavioEscobar
@ NoBugs Es hat imagick Erweiterung verpackt. Bitte hören Sie auf, Dinge auszuspucken, ohne zumindest grundlegend zu prüfen, ob sie wahr sind oder nicht.
Oerdnj
@FlavioEscobar Ich habe Ihre Änderungen in meiner Antwort zusammengeführt. Vielen Dank für die Erweiterung der Antwort.
Oerdnj