Я только что обновился до Ubuntu 18.04. Теперь Apache выполняет php моего сайта как обычный текст php. Я уже пробовал: почему мои файлы PHP отображаются в виде простого текста? (на переполнение стека) и PHP 7 и апача отображает простой текст и не может быть перезапущен . Установленные пакеты 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 "-" "-"
libapache2-mod-php7.2
(и очистить старый).sudo a2enmod php7.2
.Ответы:
Это то, что отсортировало мою установку
источник
На самом деле, в дополнение к командам в этом ответе , вам нужно
также. Каким-то образом это исчезло!
источник
Похоже, это может быть связано с одновременной установкой и включением двух версий PHP после обновления. Ничто из вышеперечисленного не помогло мне, поэтому я удалил Apache, PHP 7.1 и PHP 7.2, переустановил Apache и PHP 7.2 и все работает.
источник
Я столкнулся с этим при обновлении 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
.Кстати, вы можете диагностировать эту проблему, создав файл
/var/www/html/phpinfo.php
со следующим содержимым:а затем указав в браузере URL-адрес
http://your.server/phpinfo.php
. Вы должны получить хорошую веб-страницу со всеми настройками PHP. Если вы получили<?php phpinfo(); ?>
вместо этого текст, вам нужно установить пакеты, описанные выше.Я упоминаю об этом, потому что сначала я просто запустил
php -v
командную строку, и он сказал мне, что PHP 7.2 был установлен. Что-то вроде истины (так как содержимое командной строки из пакетаphp7.2-cli
действительно было установлено), но это еще не все. :-)источник