Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. AH00013: Pre-configuration failed
php7_module не работает совместно с модулем mpm_event, а когда они встречаются, то получается вот так:
# apachectl -t [Fri Feb 26 14:57:22.949831 2021] [php7:crit] [pid 2163:tid 34370674688] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. AH00013: Pre-configuration failed # apachectl -M [Fri Feb 26 14:57:28.320939 2021] [php7:crit] [pid 2168:tid 34370674688] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. AH00013: Pre-configuration failed # less /var/log/httpd-error.log ... [Fri Feb 26 07:00:00.034280 2021] [mpm_event:notice] [pid 58014:tid 34370674688] AH00494: SIGHUP received. Attempting to restart [Fri Feb 26 07:00:00.045728 2021] [php7:crit] [pid 58014:tid 34370674688] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. [Fri Feb 26 07:00:00.045740 2021] [:emerg] [pid 58014:tid 34370674688] AH00017: Pre-configuration failed, exiting
Чтобы это исправить, нужно либо закомментировать php7_module
, либо сменить mod_mpm_event
на mod_mpm_prefork
:
# vi /usr/local/etc/apache24/httpd.conf ... LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so #LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so ... #LoadModule php7_module libexec/apache24/libphp7.so
Почему так происходит, работал себе сервер, а тут после очередного обновления взяло и перекосячило?
Это горе называется "сопровождающий пакета", который вместо админа сервера взял себе и решил, что вместе с основным пакетом php74 обязательным является и пакет mod_php74, в постустановочных скриптах которого прописаны правила добавления строки "LoadModule php7_module libexec/apache24/libphp7.so
" в "/usr/local/etc/apache24/httpd.conf
" - вот как-то так оно.
Ты его заразу удаляешь-удаляешь, а оно берёт да и устанавливается обратно.
# pkg remove -y mod_php74 Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: mod_php74: 7.4.15 Number of packages to be removed: 1 The operation will free 6 MiB. [1/1] Deinstalling mod_php74-7.4.15... [preparing module `php7' in /usr/local/etc/apache24/httpd.conf] [1/1] Deleting files for mod_php74-7.4.15: 100%
В Debian это пакет "libapache2-mod-php7.4
". Где-то видел "тему" (на инглише) посвящённую данной проблеме, где затраханые администраторы серверов "сопровождающего пакета" крыли всякими разными "трёхэтажными", результатом чего стало "not switching MPM - disabled by maintainer":)
# apt-get dist-upgrade
...
libapache2-mod-php7.4: not switching MPM - disabled by maintainer
...
...