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, encontro o antigo prefork que consome memória.
Configurei com sucesso o evento MPM no Arch Linux, mas não o faço 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
Eu já instalei 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 tenho certeza se estou fazendo isso no lugar certo.
Alguma idéia de como tornar o thread PHP seguro para que eu possa usar o apache2 event-mpm? (sem ter que recompilar manualmente o php, é claro)
sudo service apache2 restart
Isso funcionou para mim.
Primeiro verifique se você tem este pacote instalado:
Se você tiver, basta removê-lo:
fonte
Você pode instalar várias maneiras para o Apache se comunicar com o PHP em paralelo. Talvez você tenha (ainda) o mod_php antigo instalado, além do fastcgi / php-fpm.
Você pode ver quais módulos seu Apache carregou no tempo de execução com
Se necessário, use
sudo
para obter privilégios de root. Se vocêphp5_module (shared)
vir um dos módulos que o Apache está usando no momento, o mod_php antigo ainda está instalado e o impede de usarmpm_worker
ormpm_event
.fonte
sudo a2dismod
pressionar o caractere de tabulação duas vezes para ver uma lista dos mods que podem ser desativados. Se vocêphp5
vir o diable.Para mim, após o trabalho completo no debian:
a2dismod mpm_prefork && a2enmod mpm_event
aptitude remove libapache2-mod-php5
php_
opção no seu VHost encapsulada por<IfModule mod_php5.c></IfModule>
, caso contrário, o apache não será reiniciadoservice apache2 restart
fonte
Procure o seguinte nas seções Load Modules do seu arquivo de configuração apache:
E substitua-o pelo seguinte módulo:
fonte
a2dismod mpm_prefork && a2enmod mpm_event
. Em seguida, reinicie o seu apache e pronto.o módulo php5 precisa do prefork mpm e, para desativar o prefork, é necessário desativar o php5.
no debian, fiz o seguinte, como root:
desative o mpm do prefork
ative o evento mpm ou o que você preferir. note que achei o evento mpm não recomendado para o apache 2.2 ou anterior
desativar a carga do módulo php5, mas sem desinstalação.
para testar a correção geral da configuração apache resultante. os erros precisariam ser resolvidos de acordo com a resposta do @sulther acima.
reinicie o apache
caso o php ainda seja necessário, uma versão threadsafe deve ser instalada. consulte: https://www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-freebsd-12-0
boa sorte
fonte