Como ativar o evento MPM Apache 2.4 no Ubuntu 14.04 com thread safe PHP?

21

Eu atualizei para o Ubuntu Server 14.04 esperando que a instalação padrão do apache usasse o novo evento MPM, mas em vez disso eu encontrei o antigo prefork de memória.

Eu configurei com sucesso o evento MPM no Arch Linux, mas não estou conseguindo fazer isso no Ubuntu. Eu continuo recebendo:

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

Já instalei o php-fpm e configurei o apache2 para usá-lo, mas como os arquivos de configuração do apache2 são diferentes no Ubuntu, não sei ao certo se estou fazendo isso no lugar certo.

Alguma idéia de como tornar o thread do PHP seguro para que eu possa usar o apache2 event-mpm? (sem precisar recompilar manualmente o php, claro)

    
por Towerman 23.04.2014 / 07:32

5 respostas

33

Para desativar event MPM , você pode fazer sudo a2dismod mpm_event e depois disso ativar prefork , você deve fazer sudo a2enmod mpm_prefork .

Finalmente reinicie o apache:

sudo service apache2 restart
    
por Mehraban 16.05.2016 / 10:55
10

Isso funcionou para mim.

Primeiro, verifique se você tem esse pacote instalado:

dpkg -l | grep libapache2-mod-php5

Se você tiver, basta removê-lo:

apt-get remove libapache2-mod-php5
    
por Carlos Mafla 03.12.2015 / 03:24
6

Você pode instalar várias maneiras para o Apache se comunicar com o PHP em paralelo. Talvez você tenha (ainda) o antigo mod_php instalado, além do fastcgi / php-fpm.

Você pode ver quais módulos seu Apache carregou em tempo de execução com

apache2ctl -M

Se necessário, use sudo para obter privilégios de root. Se você vir php5_module (shared) entre os módulos que seu Apache está usando no momento, o mod_php antigo ainda está instalado e bloqueia o uso de mpm_worker ou mpm_event .

    
por Henning Kockerbeck 25.05.2014 / 16:50
1

Procure o seguinte nas seções Load Modules do seu arquivo de configuração do Apache:

LoadModule mpm_event_module modules/mod_mpm_event.so

E substitua-o pelo seguinte módulo:

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    
por Ajsti.pl - Maciej Szewczyk 16.05.2016 / 10:57
0

Para mim, seguir totalmente o trabalho no debian:

  1. Desativar prefork, ativar evento: a2dismod mpm_prefork && a2enmod mpm_event
  2. remover mod-php5: aptitude remove libapache2-mod-php5
  3. Esteja ciente de que você tem cada opção php_ em seu VHost encapsulado em <IfModule mod_php5.c></IfModule> , caso contrário, o apache não será reiniciado
  4. do service apache2 restart
por suther 10.10.2017 / 12:29