J'ai effectué une mise à niveau vers Ubuntu Server 14.04 en espérant que l'installation par défaut d'Apache utiliserait le nouvel événement MPM, mais je trouve à la place l'ancien préfork consommant beaucoup de mémoire.
J'ai réussi à configurer l'événement MPM sous Arch Linux, mais je ne parviens pas à le faire sous Ubuntu. Je continue à recevoir:
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP
J'ai déjà installé php-fpm
et configuré Apache2 pour l'utiliser, mais comme les fichiers de configuration d'Apache2 sont différents sous Ubuntu, je ne sais pas trop si je vais le faire au bon endroit.
Toute idée sur la façon de sécuriser le thread PHP afin de pouvoir utiliser Apache2 event-mpm? (sans avoir à recompiler manuellement php, bien sûr)
Pour désactiver event MPM
, vous pouvez utiliser Sudo a2dismod mpm_event
et après cela, pour activer prefork
, vous devez procéder à Sudo a2enmod mpm_prefork
.
Enfin, redémarrez Apache:
Sudo service Apache2 restart
Cela a fonctionné pour moi.
Commencez par vérifier si ce paquet est installé:
dpkg -l | grep libapache2-mod-php5
Si vous l'avez, supprimez-le:
apt-get remove libapache2-mod-php5
Vous pouvez installer plusieurs façons pour Apache de communiquer avec PHP en parallèle. Peut-être que vous avez (toujours) l'ancien mod_php installé, en plus de fastcgi/php-fpm.
Vous pouvez voir quels modules votre Apache a chargé au moment de l'exécution avec
Apache2ctl -M
Si nécessaire, utilisez Sudo
pour obtenir les privilèges root. Si vous voyez php5_module (shared)
parmi les modules actuellement utilisés par Apache, l'ancien mod_php est toujours installé et vous empêche d'utiliser mpm_worker
ou mpm_event
.
Pour moi, après avoir pleinement travaillé sur debian:
a2dismod mpm_prefork && a2enmod mpm_event
aptitude remove libapache2-mod-php5
php_
Option dans votre VHost encapsulé par <IfModule mod_php5.c></IfModule>
, sinon Apache ne redémarrera pas.service Apache2 restart
Recherchez les éléments suivants dans les sections Load Modules de votre fichier de configuration Apache:
LoadModule mpm_event_module modules/mod_mpm_event.so
Et remplacez-le par le module suivant:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so