Как включить событие MPM Apache 2.4 в Ubuntu 14.04 с помощью многопоточного PHP?

Я обновился до Ubuntu Server 14.04, ожидая, что установка apache по умолчанию будет использовать новое событие MPM, но вместо этого я нахожу старый преформ, потребляющий память.

Я успешно настроил событие MPM в Arch Linux, но мне не удалось это сделать в Ubuntu. Я продолжаю получать:

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP

Я уже установил php-fpm и настроил apache2 для его использования, но так как файлы конфигурации для apache2 отличаются в Ubuntu, я не совсем уверен, действительно ли я Я делаю это в нужном месте.

Есть идеи, как сделать поток PHP безопасным, чтобы я мог использовать apache2 event-mpm? (без необходимости вручную перекомпилировать php, конечно)

24
задан 5 August 2014 в 10:45

6 ответов

Для отключения event MPM можно сделать sudo a2dismod mpm_event и после этого включить prefork, необходимо сделать sudo a2enmod mpm_prefork.

Наконец апач перезапуска:

sudo service apache2 restart
38
ответ дан 5 August 2014 в 10:45
  • 1
    Ваш наилучший вариант состоит в том, чтобы сделать новую таблицу разделов, и Восстановления данных вот ссылка на то, как сделать Восстановление данных help.ubuntu.com/community/DataRecovery – Neil 22 October 2015 в 13:56

Можно установить несколько путей к Apache для передачи с PHP параллельно. Возможно, у Вас есть (все еще) старый установленный mod_php, дополнительно на fastcgi/php-fpm.

Вы видите, какие модули Ваш Apache загрузил во времени выполнения

apache2ctl -M

В случае необходимости, используйте sudo для получения прав пользователя root. Если Вы видите php5_module (shared) среди модулей, Ваш Apache в настоящее время использует, старый mod_php все еще установлен и блокирует Вас от использования mpm_worker или mpm_event.

0
ответ дан 5 August 2014 в 10:45

Ищите следующее в разделах Загрузочных модулей Вашего апачского конфигурационного файла:

LoadModule mpm_event_module modules/mod_mpm_event.so

И замените его следующим модулем:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
1
ответ дан 5 August 2014 в 10:45
  • 1
    Эй! Таким образом, я сделал все те шаги, но тогда после удара входят с последней командой, я получил высказывание сообщения: " dd: dev/disk1/: Разрешение Denied" – Ian Rocker 23 October 2015 в 13:45

Это работало на меня.

Первая проверка, если Вам установили этот пакет:

dpkg -l | grep libapache2-mod-php5

, Если у Вас есть он просто, удаляют его:

apt-get remove libapache2-mod-php5
13
ответ дан 5 August 2014 в 10:45
  • 1
    Эй, огромное спасибо за подробные инструкции! – Ian Rocker 22 October 2015 в 10:37

Для меня после полностью работают над debian:

  1. Отключают предварительное ветвление, включают событие: a2dismod mpm_prefork && a2enmod mpm_event
  2. удаляют модификацию-php5: aptitude remove libapache2-mod-php5
  3. знать, что у Вас есть каждый php_, Опция в Вашем VHost инкапсулирует <IfModule mod_php5.c></IfModule>, в других отношениях апачский не перезапустит
  4. , делают service apache2 restart
2
ответ дан 5 August 2014 в 10:45
  • 1
    @IanRocker В терминале, сделайте cd Desk и затем нажмите, TAB тогда входят. Тогда сделайте мои шаги. – FireFaced 23 October 2015 в 08:53

php5 модулю нужно предварительное ветвление mpm, и отключить предварительное ветвление, нужно отключить php5.

под debian, я сделал следующее как корень:

отключают предварительное ветвление mpm

a2dismod mpm_prefork

, включают событие mpm, или безотносительно mpm Вы мог бы предпочесть. обратите внимание, что я учреждаю мероприятие mpm, не рекомендовался для апачских 2.2 или ранее

a2enmod mpm_event

для отключения php5 загрузки модуля, но без удаления.

a2dismod php5

для тестирования полной правильности получающейся апачской конфигурации. ошибки должны были бы быть разрешены согласно ответ из @sulther выше.

apache2ctl -t

апач перезапуска

systemctl restart apache2

в случае, если php все еще необходим, ориентированная на многопотоковое исполнение версия должна быть установлена. см.: https://удача www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-freebsd-12-0

0
ответ дан 7 October 2019 в 23:53

Другие вопросы по тегам:

Похожие вопросы: