Php
無法在 Ubuntu 14.04 上使用 Apache 2.4 啟用 mpm_prefork
我在 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 a2enconf
和man a2ensite
。