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 "-" "-"
libapache2-mod-php7.2
(und das alte löschen).sudo a2enmod php7.2
.Antworten:
Dies ist, was meine Installation sortiert hat
quelle
Zusätzlich zu den Befehlen in dieser Antwort benötigen Sie tatsächlich
auch. Irgendwie ist es verschwunden!
quelle
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.
quelle
Ich bin darauf gestoßen, als ich mit dem
do-release-upgrade
Tool 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.2
auch hinzu .php7.2-common
undphp7.2-cli
wurden bereits installiert, so dass sie ignoriert wurden.sudo a2enmod php7.2
wurde automatisch von ausgeführtapt-get
.Übrigens können Sie dieses Problem diagnostizieren, indem Sie eine Datei
/var/www/html/phpinfo.php
mit den folgenden Inhalten erstellen :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 Paketphp7.2-cli
tatsächlich installiert wurde), aber es ist nicht die ganze Geschichte. :-)quelle