Php

無法在 Ubuntu 14.04 上使用 Apache 2.4 啟用 mpm_prefork

  • March 27, 2020

我在 Ubuntu 14.04 上安裝 PHP 5.4 和 Apache 2.4。apt-get 上沒有 PHP 5.4,所以我必須從原始碼安裝它。我已經安裝

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! 

這是什麼意思?

您可以通過 grepping 整個 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 a2enconfman a2ensite

引用自:https://serverfault.com/questions/682272