Я следовал указаниям из здесь , чтобы переключить запись API сервера будет FPM/FastCGI.from Обработчик серверного API Apache 2.0. Когда включена mpm_event и a2dismod php7.4, phpinfo.php показывает только:
<?php phpinfo(); ?>
Статус Apache:
Apache Server Status for localhost (via 127.0.0.1)
Server Version: Apache/2.4.46 (Ubuntu) mod_fcgid/2.3.9 OpenSSL/1.1.1f
Server MPM: event
Server Built: 2020-11-13T01:36:38
----------------------------------------------------------------------
Current Time: Saturday, 27-Feb-2021 13:08:50 EST
Restart Time: Saturday, 27-Feb-2021 13:05:50 EST
Parent Server Config. Generation: 1
Parent Server MPM Generation: 0
Server uptime: 3 minutes
Server load: 0.80 0.95 1.07
Total accesses: 14 - Total Traffic: 190 kB - Total Duration: 10069
CPU Usage: u0 s.05 cu0 cs0 - .0278% CPU load
.0778 requests/sec - 1080 B/second - 13.6 kB/request - 719.214 ms/request
1 requests currently being processed, 49 idle workers
+------------------------------------------------------------------------+
| | | |Connections |Threads |Async connections |
|Slot|PID |Stopping|---------------+---------+--------------------------|
| | | |total|accepting|busy|idle|writing|keep-alive|closing|
|----+-----+--------+-----+---------+----+----+-------+----------+-------|
|0 |46738|no |0 |yes |1 |24 |0 |0 |0 |
|----+-----+--------+-----+---------+----+----+-------+----------+-------|
|1 |46739|no |0 |yes |0 |25 |0 |0 |0 |
|----+-----+--------+-----+---------+----+----+-------+----------+-------|
|Sum |2 |0 |0 | |1 |49 |0 |0 |0 |
+------------------------------------------------------------------------+
_______________W__________________________________..............
................................................................
......................
Scoreboard Key:
"_" Waiting for Connection, "S" Starting up, "R" Reading Request,
"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
"C" Closing connection, "L" Logging, "G" Gracefully finishing,
"I" Idle cleanup of worker, "." Open slot with no current process
Если я включу php7.4 и снова включу mpm_prefork, то он восстановит обработчик Apache 2.0. Что-то не так, что я делаю?
Последняя заметка: частично работает, но PHP-страницы все еще отображаются некорректно.
PHP-страницы теперь отображаются корректно, и тест соединения MySQL работает. После того, как я ввел a2enmod php7.4, который должен был переключиться на Обработчик серверного API Apache 2.0 получил ошибку ниже, но переключился на FPM/FastCGI.
Кроме того, что здесь захватывается для будущих ссылок, это было 3 ночи работы: включение/выключение модулей, конфликты зависимостей, обновления, конфигурации и протоколирование. Copy&Paste из других постов всегда отстой. Спасибо!
SOLVED
a2enmod php7.4
Considering dependency mpm_prefork for php7.4:
Considering conflict mpm_event for mpm_prefork:
ERROR: Module mpm_event is enabled - cannot proceed due to conflicts. It needs to be disabled first!
Considering conflict mpm_worker for mpm_prefork:
ERROR: Could not enable dependency mpm_prefork for php7.4, aborting
Настройка PHP-FPM с Apache намного сложнее, чем просто установка FPM и обеспечивает несколько вещей. Для установки могут быть установлены дополнительные модули (FastCGI), которые могут быть установлены и отключены.
достаточно весеннее, руководство по цифровому океану для использования событий MPM и PHP-FPM через FastCGI на Apache с Ubuntu 18.04 по-прежнему относительно хорошая точка выключения для конфигураций этой настройки, мы просто должны Настроить некоторые вещи и отрегулируйте биты для некоторых изменений от 18,04 до 20,04. Инструкции ниже основаны на руководстве DO, но с необходимыми настройками для работы FPM работают в 20.04, адаптирующие версии PHP и т. Д. И дают вам только команды.
Модуль PHP7.4 в Apache является встроенным , к сожалению, он не работает для PHP-FPM. Поэтому нам нужно сделать некоторую работу, чтобы сделать эту работу.
Во-первых, останавливайте Apache, пока мы создаем настройки на конфиги
sudo systemctl stop apache2
, затем отключите встроенный модуль PROFORK PHP 7,4
sudo a2dismod php7.2
отключить модуль для приготовления приготовления.
sudo a2dismod mpm_prefork
Включите модуль MPM события
sudo a2enmod mpm_event
Теперь мы настраиваем компоненты PHP, которые довольно простым ...
Если вы еще этого не сделали, установите PHP FPM
sudo apt install php-fpm
Установите модуль FCGI для Apache
sudo apt install libapache2-mod-fcgid
Включить необходимые библиотеки и модули
a2enmod proxy_fcgi setenvif
Включить конфигурацию модуля PHP-FPM (которая уже будет присутствовать)
sudo a2enconf php7.4-fpm
Теперь нам нужно убедиться, что синтаксис пропускается в вашем конфигурация
Запустите эту команду:
sudo apachectl configtest
Эта команда может выпрыгивать нашей информации, такой как это, но до тех пор, пока «синтаксис ОК» является выходом, который вы хороши (запускаются из тестируемого контейнера / среды, игнорируют ошибку AH00558, если Он проявляется и беспокоит только о выходе «синтаксиса OK»):
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.73.252.124. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Теперь этот тест Config пропускал ...
sudo systemctl restart apache2
Теперь вы должны снова получить PHP, кроме С службой FPM. И PHP-файлы должны работать снова.
Nuke Ваш кэш браузера перед тестированием, хотя - веб-браузеры печально известны сообщения об ошибках кэширования.
Если вы все сделали здесь, вы должны увидеть PHP, работаю как ожидалось - это phpinfo на моем тесте ENV работает 20.04: