Apache PHP Module is not compiled to be threadsafe

archive view archive save

apache-logo, png 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
...

...


Комментарии в блоге
Новое на форуме