无法在 Ubuntu 14.04 上使用 Apache 2.4 启用 mpm_prefork

MaP*_*aPi 7 php apache-2.4 ubuntu-14.04

我正在 Ubuntu 14.04 上安装 PHP 5.4 和 Apache 2.4。Php 5.4 在 apt-get 上不可用,所以我必须从源代码安装它。我已经安装

apache2-prefork-dev
apache2-mpm-prefork
Run Code Online (Sandbox Code Playgroud)

我配置了 PHP

./configure --with-apxs2=/usr/bin/apxs2 --with-mysql --with-curl
Run Code Online (Sandbox Code Playgroud)

然后我构建并安装。我将此行添加到/etc/apache2/apache2.conf:

LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_prefork.so
LoadModule php5_module  modules/libphp5.so
AddType application/x-http-php  .php
Run Code Online (Sandbox Code Playgroud)

当我尝试重新启动 Apache 时,出现此错误:

module mpm_event_module is already loaded, skipping
Run Code Online (Sandbox Code Playgroud)

我在 .conf 文件中搜索,但该模块之前没有加载到那里。编辑:

正如@Andrew Schulman 的回答,我可以在

/etc/apache2/mods-available/mpm_event.load
Run Code Online (Sandbox Code Playgroud)

当我跑

a2enmod mpm_event
Run Code Online (Sandbox Code Playgroud)

我明白了:

Considering conflict mpm_worker for mpm_event:
Considering conflict mpm_prefork for mpm_event:
Considering conflict mpm_itk for mpm_event:
Run Code Online (Sandbox Code Playgroud)

我该如何解决冲突?

编辑2:

我用了

a2dismod 
Run Code Online (Sandbox Code Playgroud)

mpm_event_module 
Run Code Online (Sandbox Code Playgroud)

并加载了 mpm_prefork_module。Apache 重新启动正常,但是当我尝试运行时

a2enmod mpm_prefork_module 
Run Code Online (Sandbox Code Playgroud)

我明白了:

ERROR: Module mpm_prefork_module does not exist! 
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

And*_*man 10

您可以通过搜索整个 Apache 配置来找到它:

grep -r mpm_event_module /etc/apache2
Run Code Online (Sandbox Code Playgroud)

它几乎可以肯定在 /etc/apache2/mods-available/mpm_event.load 中。在 Debian/Ubuntu 中,启用和禁用 Apache 模块的标准方法是运行例如

a2dismod mpm_event
a2enmod mpm_prefork
Run Code Online (Sandbox Code Playgroud)

man a2enmod,类似地man a2enconfman a2ensite