Добрый день. У меня не вопрос, а ответ.
На самом деле всё просто, но конкретно ни один готовый рецепт мне не подошёл (особенно на русском языке; возможно, неправильно гуглил). Я пережил несколько неприятных минут, но в конечном итоге экспериментальным путём я пришёл к некоему решению, которым и спешу поделиться. Мой собственный сайт сейчас не доступен (уже по другим причинам), так что я размещу это здесь. Для кого-то это будет повторением пройденного, а кому-то может сослужить службу.
Итак,
после апгрейда Ubuntu Server 20.04 -> 22.04.1 перестал запускаться Apache из-за "ошибок синтаксиса" в файлах /etc/apache2/sites-enabled/[имясайта].conf. В частности, претензии такого вида:
>Invalid command 'php_flag', perhaps misspelled or defined by a module (...)
И другие строки, которые содержат директивы, относящиеся к php.
Если закомментировать данные строки, то сервер запускается и
даже не выдаёт “500 internal server error”, однако в браузере сайты выглядят так, как будто Apache не исполняет код php.
Что мы можем здесь проверить?
Php в системе имеется:
# php -v
PHP 8.1.2 (cli) (built: Jul 21 2022 12:10:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies
М. б. отсутствует модуль Apache, ответственный за php?
# apt install libapache2-mod-php
>...
>libapache2-mod-php is already the newest version (2:8.1+92ubuntu1).
# a2enmod php
>ERROR: Module php does not exist!
Вот оно! -- подумал я. И да, это оно. А ларчик просто открывался, в моём случае нужно было говорить
# a2enmod php8.1
Ну и далее не забыть
# service apache2 restart
У меня всё заработало. Впоследствии я раскомментировал упомянутые строки в конфигах сайтов (всё-таки они относятся к безопасности), и всё продолжило работать.
С нетерпением жду следующего обновления системы.
Спасибо за внимание.