PHP відображається як звичайний текст після оновлення до 18.04


8

Я щойно перейшов до Ubuntu 18.04. Тепер apache служить php мого веб-сайту в якості простого php. Я вже намагався: Чому мої файли PHP відображаються як звичайний текст? (у режимі переповнення стека) та PHP 7 та apache відображає звичайний текст, і його неможливо перезапустити . Встановлені пакети php:

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

Один із відповідних веб-сайтів можна побачити тут .

Апаш 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'

І 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 "-" "-"

Ймовірно, вам слід встановити та включити правильний php-модуль Apache libapache2-mod-php7.2(та очистити старий).
pa4080

libapache2-mod-php7.2 - це вже остання версія. :(
Benedikt Wutzi

Може бути , ви повинні включити його: sudo a2enmod php7.2.
pa4080

1
Модуль php7.2 вже ввімкнено. ;)
Benedikt Wutzi

1
Чи можете ви написати відповідь як відповідь тоді, будь ласка? Було б корисно, якщо інші люди натрапляють на таку ж ситуацію
Лілія Бергонзат

Відповіді:


23

Це моє встановлення було відсортовано

sudo apt install php7.2 php7.2-common php7.2-cli
sudo a2enmod php7.2

2
Дякую, мені включення модуля php7.2 спрацювало чудово, - здається, виникли конфлікти між декількома версіями php
Agnius Vasiliauskas

1
Мені потрібен був лише другий рядок a2enmod. Як тільки це було ввімкнено, з’явилася програма. Дякую!
користувач1794918


0

Схоже, це може бути пов’язано з тим, що після оновлення встановлено та включено одночасно 2 версії PHP. Жодне з перерахованого вище не працювало для мене, тому я видалив Apache, PHP 7.1 та PHP 7.2, перевстановив Apache та PHP 7.2 і все працює зараз.


0

Я наткнувся на це під час оновлення з Ubuntu 16.04.6 LTS до 18.04 LTS за допомогою do-release-upgradeінструменту. У моєму випадку допомогло наступне:

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

Це також додало libapache2-mod-php7.2. php7.2-commonі php7.2-cliвже були встановлені, тому їх ігнорували. sudo a2enmod php7.2було виконано автоматично apt-get.

BTW, Ви можете діагностувати цю проблему, створивши файл /var/www/html/phpinfo.phpіз таким вмістом:

<?php phpinfo(); ?>

а потім вказати веб-переглядач на URL-адресу http://your.server/phpinfo.php. Ви повинні отримати приємну веб-сторінку з усіма параметрами PHP. Якщо ви отримаєте <?php phpinfo(); ?>текст замість цього, вам потрібно встановити описані вище пакети.

Я згадую про це, тому що спершу я просто запустив php -vкомандний рядок, і він сказав мені, що PHP 7.2 встановлений. Що таке як справжнє (оскільки речі командного рядка з пакета php7.2-cliсправді були встановлені), але це не вся історія. :-)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.