我在 Ubuntu 14.04 上安装 PHP 5.4 和 Apache 2.4。Php 5.4 在 apt-get 上不可用,所以我必须从源代码安装它。我已经安装了
apache2-prefork-dev
apache2-mpm-prefork
我使用以下命令配置 PHP
./configure --with-apxs2=/usr/bin/apxs2 --with-mysql --with-curl
然后我构建并安装。我在 /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
当我尝试重新启动 Apache 时出现此错误:
module mpm_event_module is already loaded, skipping
我搜索了 .conf 文件,但之前没有加载该模块。编辑:
正如@Andrew Schulman 的回答,我可以在
/etc/apache2/mods-available/mpm_event.load
当我跑步时
a2enmod mpm_event
我明白了:
Considering conflict mpm_worker for mpm_event:
Considering conflict mpm_prefork for mpm_event:
Considering conflict mpm_itk for mpm_event:
我该如何解决这个冲突?
编辑2:
我用了
a2dismod
在
mpm_event_module
并加载了 mpm_prefork_module。Apache 重新启动正常,但当我尝试运行
a2enmod mpm_prefork_module
我明白了:
ERROR: Module mpm_prefork_module does not exist!
这是什么意思?
答案1
您可以通过查找整个 Apache 配置来找到它:
grep -r mpm_event_module /etc/apache2
它几乎肯定位于 /etc/apache2/mods-available/mpm_event.load 中。在 Debian/Ubuntu 中,启用和禁用 Apache 模块的标准方法是运行例如
a2dismod mpm_event
a2enmod mpm_prefork
参见man a2enmod
,且同样man a2enconf
和man a2ensite
。