[RndTbl] Apache MPM choice for PHP + HTTP2

Trevor Cordes trevor at tecnopolis.ca
Mon Jul 24 05:11:24 CDT 2017


Trying to get HTTP2 support working in Apache, easy enough.  Except when I 
restart apache it complains that mod_http2 is not compatible with mpm 
prefork and turns http2 off.

OK, I go back to figure out why I'm running prefork.  Turns out that still 
seems to be the easiest/best way to work with PHP via mod_php.  Some 
research reveals talks from 5+ years ago that say that not every PHP 
module that may be compiled in (in a normal distro) is thread safe, so all 
of the threaded mpm's are out of the question.  Doh.

But some people (but not anyone official!) say that the above is dated and 
PHP should be fine with threaded mpm's.  This isn't the type of thing I 
want to throw out there and see if users can deadlock my apache!  Who to 
believe...

So, what are MUUGers who use apache and PHP using as their mpm?  Anyone 
successfully using a threaded mpm in this setup on complicated PHP sites 
without problems?

It looks like the only other option (short of running 2 servers + rev 
proxy) is php-fpm, which I'm not familiar with but appears to run PHP 
outside of apache in its own daemon and talk directly with apache via 
fastcgi or similar.  From what I read it shouldn't kill performance but I 
thought the whole point of mod_php was to put php inside apache for speed.

And, no, I'm not interested in moving to nginx at this time (and from 
benchmarks I saw it's no faster for PHP anyhow).  :-)

Thanks!


More information about the Roundtable mailing list