Question Comment activer l'événement MPM Apache 2.4 sur Ubuntu 14.04 avec PHP thread-safe?


J'ai mis à niveau vers Ubuntu Server 14.04 en m'attendant à ce que l'installation par défaut d'Apache utilise le nouvel événement MPM, mais à la place, je trouve l'ancienne mémoire pré-consommée.

J'ai réussi à configurer l'événement MPM sous Arch Linux, mais je ne le fais pas sur 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 pour apache2 sont différents sur Ubuntu, je ne suis pas sûr si je le fais au bon endroit.

Une idée sur la manière de sécuriser les threads PHP pour pouvoir utiliser apache2 event-mpm? (sans avoir à recompiler manuellement php, bien sûr)


21
2018-04-23 05:32


origine




Réponses:


Désactiver event MPM, tu peux faire sudo a2dismod mpm_event et après cela pour permettre prefork, tu devrais faire sudo a2enmod mpm_prefork.

Enfin, redémarrez apache:

sudo service apache2 restart

33
2018-05-16 08:55



Vous devez être là ... Pas ici .. en haut de la liste des réponses. - Karma
Cela devrait être la réponse acceptée! N'oubliez pas de redémarrer apache après avoir fait ceci: sudo service apache2 restart - Reeno
Comment cela répond-il à la question de savoir comment activer MPM, comme demandé par l'OP? Vous expliquez comment faire le contraire de ce que le PO a demandé. - Craig
@Mehraban, OP a demandé un mot pour le mot "Comment activer l'événement MPM?", Et votre réponse est "Il suffit de désactiver l'événement MPM". Comment est-ce une réponse acceptable? - Nicolas Bouliane
@Mehraban Ce n'est pas la question qui a été posée, donc tout le trafic venant de Google est dit "la meilleure façon de faire X n'est pas de faire à X". Si je demande comment faire des biscuits au chocolat, je m'attends à une recette de biscuits au chocolat. - Nicolas Bouliane


Cela a fonctionné pour moi.

Vérifiez d'abord si vous avez installé ce paquet:

dpkg -l | grep libapache2-mod-php5

Si vous l'avez, retirez-le simplement:

apt-get remove libapache2-mod-php5

12
2017-12-03 02:24



C'est la bonne réponse! - DrSvanHay


Vous pouvez installer plusieurs façons pour Apache de communiquer avec PHP en parallèle. Peut-être que vous avez toujours installé l'ancien mod_php, en plus de fastcgi / php-fpm.

Vous pouvez voir quels modules votre Apache a chargés à l'exécution avec

apache2ctl -M

Si nécessaire, utilisez sudo pour obtenir les privilèges root. Si tu vois php5_module (shared) parmi les modules que votre Apache utilise actuellement, l'ancien mod_php est toujours installé et vous empêche d'utiliser mpm_worker ou mpm_event.


6
2018-05-25 14:50



Ne peut pas exécuter cela pour obtenir des mods si le serveur ne démarre pas, essayez sudo a2dismod puis appuyez deux fois sur le caractère de tabulation pour afficher une liste des mods pouvant être désactivés. Si tu vois php5 diable il - pferrel


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

1
2018-05-16 08:57



NON, ne fais pas ça! Apache est modulaire, vous n'avez donc pas besoin de changer de LoadModule-Lines dans vos configs. Seulement faire a2dismod mpm_prefork && a2enmod mpm_event. Ensuite, redémarrez votre apache, et vous avez terminé. - suther


Pour moi, le travail complet sur Debian:

  1. Désactivez le préfork, activez l'événement: a2dismod mpm_prefork && a2enmod mpm_event
  2. supprimer mod-php5: aptitude remove libapache2-mod-php5
  3. Sachez que vous avez chacun php_ Option dans votre VHost encapsuler par <IfModule mod_php5.c></IfModule>, sinon apache ne redémarre pas
  4. faire service apache2 restart

1
2017-10-10 10:29