web-dev-qa-db-fra.com

PHP s'affiche en texte brut après la mise à niveau vers 18.04

Je viens de passer à Ubuntu 18.04. Maintenant, Apache utilise le php de mon site web en php en texte brut. J'ai déjà essayé: Pourquoi mes fichiers PHP s'affichent-ils sous forme de texte brut? (Sur Stack Overflow) et PHP 7 et Apache affichent du texte brut et ne peuvent pas être redémarrés . Les paquets php installés sont:

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

Un des sites Web en question peut être vu ici .

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'

Et le 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 "-" "-"
8
Benedikt Wutzi

C'est ce qui a arrangé mon installation

Sudo apt install php7.2 php7.2-common php7.2-cli
Sudo a2enmod php7.2
19
Phippsy

En fait, en plus des commandes dans cette réponse , vous avez besoin de

Sudo apt install libapache2-mod-php

ainsi que. D'une certaine manière, il a disparu!

4
Jarek

Il semble que cela puisse être lié au fait que 2 versions de PHP soient installées et activées en même temps après la mise à niveau. Aucune de ce qui précède n'a fonctionné pour moi, alors j'ai désinstallé Apache, PHP 7.1 et PHP 7.2, réinstallé Apache et PHP 7.2 et tout fonctionne maintenant.

0

J'ai rencontré ce problème lors de la mise à niveau d'Ubuntu 16.04.6 LTS vers 18.04 LTS à l'aide de l'outil do-release-upgrade. Dans mon cas, les éléments suivants ont aidé:

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

Ceci a ajouté libapache2-mod-php7.2 également. php7.2-common et php7.2-cli étaient déjà installés, ils ont donc été ignorés. Sudo a2enmod php7.2 a été exécuté automatiquement par apt-get.

En passant, vous pouvez diagnostiquer ce problème en créant un fichier /var/www/html/phpinfo.php avec le contenu suivant:

<?php phpinfo(); ?>

puis en pointant votre navigateur sur l'URL http://your.server/phpinfo.php. Vous devriez obtenir une page Web agréable avec tous les paramètres PHP. Si vous obtenez plutôt le texte <?php phpinfo(); ?>, vous devez installer les packages décrits ci-dessus.

Je le mentionne car tout d'abord, je viens d'exécuter php -v sur la ligne de commande et il m'a été informé que PHP 7.2 était installé. Ce qui est en quelque sorte vrai (car les éléments de la ligne de commande du paquetage php7.2-cli ont bien été installés), mais ce n'est pas toute l'histoire. :-)

0
Laryx Decidua