经过一段时间的工作,我自己做了。您可以找到以下步骤。
检查当前正在运行哪个MPM apache:
apachectl -V | grep -i mpm
Result:
Server MPM: prefork
列出可用的MPM模块(确保列出了mpm_worker)
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
列出已启用的MPM模块(如果未启用mpm_worker,则应启用它并禁用mpm_prefork模块)
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
禁用MPM_PREFORK模块
a2dismod mpm_prefork
启用MPM_WORKER模块
a2enmod mpm_worker
检查Apache是否在MPM WORKER上运行
apachectl -V | grep -i mpm
Result:
Server MPM: worker
如果在执行以下命令后收到此错误:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
尝试删除libapache2软件包:
apt-get remove libapache2-mod-php5