PHP wird nach dem Upgrade auf 18.04 als einfacher Text angezeigt

8

Ich habe gerade ein Upgrade auf Ubuntu 18.04 durchgeführt. Jetzt dient Apache dem PHP meiner Website als Klartext-PHP. Ich habe bereits versucht: Warum werden meine PHP-Dateien als einfacher Text angezeigt? (bei Stapelüberlauf) und PHP 7 und Apache zeigen einfachen Text an und können nicht neu gestartet werden . Die installierten PHP-Pakete sind:

php              php7.2-cli       php7.2-fpm       php7.2-mbstring  php7.2-pgsql     php7.2-sqlite3   php7.2-zip       php-curl         php-igbinary     php-pgsql        php-xml
php7.2           php7.2-common    php7.2-gd        php7.2-mysql     php7.2-readline  php7.2-xml       php-bz2          php-fpm          php-mbstring     php-soap         php-xmlrpc
php7.2-bz2       php7.2-curl      php7.2-json      php7.2-opcache   php7.2-soap      php7.2-xmlrpc    php-common       php-gd           php-mysql        php-sqlite3      php-zip

Eine der fraglichen Websites ist hier zu sehen .

Der Apache error.log:

[Thu Apr 26 16:02:12.740886 2018] [mpm_prefork:notice] [pid 6504] AH00169: caught SIGTERM, shutting down

[Thu Apr 26 16:02:13.001806 2018] [mpm_prefork:notice] [pid 7704] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.0g configured -- resuming normal operations

[Thu Apr 26 16:02:13.001900 2018] [core:notice] [pid 7704] AH00094: Command line: '/usr/sbin/apache2'

Und die access.log:

<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"

<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"

<MYIP> - - [26/Apr/2018:16:02:40 +0200] "-" 408 3435 "-" "-"
Benedikt Wutzi
quelle
Wahrscheinlich sollten Sie das richtige PHP-Modul von Apache installieren und aktivieren libapache2-mod-php7.2(und das alte löschen).
pa4080
libapache2-mod-php7.2 ist bereits die neueste Version. :(
Benedikt Wutzi
Vielleicht sollten Sie es aktivieren : sudo a2enmod php7.2.
pa4080
1
Modul php7.2 bereits aktiviert. ;)
Benedikt Wutzi
1
Könnten Sie die Antwort dann bitte als Antwort schreiben? Es wäre hilfreich, wenn andere Menschen über die gleiche Situation stolpern würden
Lily Bergonzat

Antworten:

23

Dies ist, was meine Installation sortiert hat

sudo apt install php7.2 php7.2-common php7.2-cli
sudo a2enmod php7.2
Phippsy
quelle
2
Danke, mir php7.2 Modul ermöglicht hat perfekt funktioniert, - scheint es gab Konflikte zwischen verschiedenen Versionen von PHP
Agnius Vasiliauskas
1
Ich brauchte nur die zweite Zeile a2enmod. Sobald dies aktiviert war, wurde die Anwendung gestartet. Vielen Dank!
user1794918
4

Zusätzlich zu den Befehlen in dieser Antwort benötigen Sie tatsächlich

sudo apt install libapache2-mod-php

auch. Irgendwie ist es verschwunden!

Jarek
quelle
0

Es sieht so aus, als ob dies damit zusammenhängt, dass zwei Versionen von PHP nach dem Upgrade gleichzeitig installiert und aktiviert wurden. Keiner der oben genannten Punkte hat bei mir funktioniert, daher habe ich Apache, PHP 7.1 und PHP 7.2 deinstalliert, Apache und PHP 7.2 neu installiert und die Dinge funktionieren jetzt.

Jonathan Bossenger
quelle
0

Ich bin darauf gestoßen, als ich mit dem do-release-upgradeTool von Ubuntu 16.04.6 LTS auf 18.04 LTS aktualisiert habe . In meinem Fall hat Folgendes geholfen:

sudo apt-get install php7.2 libapache2-mod-php

Dies fügte libapache2-mod-php7.2auch hinzu . php7.2-commonund php7.2-cliwurden bereits installiert, so dass sie ignoriert wurden. sudo a2enmod php7.2wurde automatisch von ausgeführt apt-get.

Übrigens können Sie dieses Problem diagnostizieren, indem Sie eine Datei /var/www/html/phpinfo.phpmit den folgenden Inhalten erstellen :

<?php phpinfo(); ?>

und dann Ihren Browser auf die URL zeigen http://your.server/phpinfo.php. Sie sollten eine schöne Webseite mit allen PHP-Einstellungen erhalten. Wenn Sie <?php phpinfo(); ?>stattdessen den Text erhalten, müssen Sie die oben beschriebenen Pakete installieren.

Ich erwähne dies, weil ich zuerst nur php -vüber die Befehlszeile lief und mir sagte, dass PHP 7.2 installiert wurde. Das ist irgendwie wahr (da das Kommandozeilen-Zeug aus dem Paket php7.2-clitatsächlich installiert wurde), aber es ist nicht die ganze Geschichte. :-)

Kehlkopf Decidua
quelle