Apache enable worker mpm
Solution 1
After some time of working i did it myself. You can find the steps below.
Check which MPM apache is currently running:
apachectl -V | grep -i mpm
Result:
Server MPM: prefork
List Available MPM Modules (Make sure mpm_worker is listed)
ls /etc/apache2/mods-available/mpm*
Result:
/etc/apache2/mods-available/mpm_event.conf /etc/apache2/mods-available/mpm_prefork.conf /etc/apache2/mods-available/mpm_worker.conf
/etc/apache2/mods-available/mpm_event.load /etc/apache2/mods-available/mpm_prefork.load /etc/apache2/mods-available/mpm_worker.load
List Enabled MPM Modules (If mpm_worker is not enabled we should enable it and disable the mpm_prefork module)
ls -l /etc/apache2/mods-enabled/mpm*
Result:
/etc/apache2/mods-enabled/mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
/etc/apache2/mods-enabled/mpm_prefork.load -> ../mods-available/mpm_prefork.load
Disable MPM_PREFORK module
a2dismod mpm_prefork
Enable MPM_WORKER module
a2enmod mpm_worker
To check if Apache is running on MPM WORKER
apachectl -V | grep -i mpm
Result:
Server MPM: worker
If you get this error after executing these commands:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
Try to remove libapache2 package:
apt-get remove libapache2-mod-php5
Solution 2
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP.
Related videos on Youtube
sravis
SaaS Architect, Micro-Services, Full Stack Javascript, Node.js, Vue.JS, Kubernetes, Docker Developer
Updated on September 18, 2022Comments
-
sravis over 1 year
I have configured FastCGI and PHP5-FPM to work on ubuntu, Which is working fine.
But i installed "apache2 worker mpm" module and wanted to configure and replace "prefork mpm" which is default in apache2.
All i found was in CentOS at
/etc/sysconfig/httpd
just puttingHTTPD=/usr/sbin/httpd.worker
will make "worker mpm" enabled.How do we enable "worker mpm" in Ubuntu?
Also when i list the compiled modules of apache
"/usr/sbin/apachectl -l"
it wont list"prefork.c"
which said to be listing since we are using it by default. But when i do"/usr/sbin/apache2 -V | grep MPM"
it shows "Server MPM: prefork" can some one explain this please?
$ /usr/sbin/apache2 -V | grep MPM
Server MPM: prefork
phpinfo();
Server API : FPM/FastCGI
-
neobie almost 9 yearsFollowed the instruction but getting this: * Restarting web server apache2 [fail] * The apache2 configtest failed. Output of config test was: AH00534: apache2: Configuration error: More than one MPM loaded. Action 'configtest' failed. The Apache error log may have more information.
-
chirag jagani over 7 yearsperfect :) it's working for me.
-
iCyborg over 7 yearsIt is giving error "Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP" and removing libapache2-mod-php5 is not helping either.