Wie aktiviere ich Event MPM Apache 2.4 Ubuntu 14.04 mit threadsicherem PHP?

6962
Towerman

Ich habe ein Upgrade auf den Ubuntu-Server 14.04 vorgenommen, in der Erwartung, dass die Standardinstallation von Apache das neue Ereignis-MPM verwenden würde. Stattdessen finde ich den alten speicherfressenden Prefork.

Ich habe Event MPM in Arch Linux erfolgreich eingerichtet, kann dies jedoch nicht auf Ubuntu tun. Ich bekomme immer:

Apache führt ein Thread-MPM aus, aber Ihr PHP-Modul ist nicht so kompiliert, dass es Thread-sicher ist. Sie müssen PHP neu kompilieren.

Ich habe bereits php-fpmApache2 installiert und konfiguriert, um es zu verwenden, aber da die Konfigurationsdateien für Apache2 auf Ubuntu unterschiedlich sind, bin ich mir nicht ganz sicher, ob ich es an der richtigen Stelle mache.

Irgendeine Idee, wie man PHP-Thread sicher macht, damit ich Apache2 "event MPM" verwenden kann; natürlich ohne PHP neu kompilieren zu müssen?

0

1 Antwort auf die Frage

0
user5428

Ein wenig Spekulation ist hier involviert, aber ich schätze, dass Ihre alte Apache-Konfiguration (einschließlich Mods-fähig) nicht an einer Neuinstallation durchgeführt wurde, wie üblich. Bei einer Neuinstallation von 14.04 LTS ist das Ereignis-MPM Standard:

foo@CHANGEME-U14LTS:~$ ls /etc/apache2/mods-enabled/|grep mpm mpm_event.conf mpm_event.load 

Ihr Problem mit PHP rührt wahrscheinlich von ähnlichen In-Place-Problemen her. Wenn Sie die hier beschriebenen Schritte für dieselbe saubere Installation ausführen, genügt es, PHP-FPM auf meiner Testbox zum Laufen zu bringen.

Nur um das Offensichtliche zu beseitigen, haben Sie daran gedacht, mod_php in Ihrer Apache-Konfiguration zu deaktivieren ... oder? Ubuntus mod_php ist nicht threadsicher; Und wenn Sie noch mpm-prefork laden wollten, gibt es auch eine gute Chance. Unabhängig davon empfehle ich Ihnen dringend, Ihren statischen Webinhalt auf eine Neuinstallation von 14.04 zu verschieben, es sei denn, Sie möchten die alte Cruft deaktivieren und alle neuen Best Practices selbst einrichten.