引用来自“eechen”的评论windows版apache使用的是winnt mpm,是一个线程化的mpm,所以php应该使用线程安全版ts,线程安全版php里包含有PHP5apache2_4.dll,在HTTPd.conf中用loadmodule载入这个PHP5_module
引用来自“eechen”的评论个人测试过,单机上httpd_prefork_mpm(libphp5.so)的php性能要稍好于nginx+php-fpm,毕竟nginx和PHP-fpm之间存在进程间通信,而HTTPd只需要调用共享库libphp5.so来处理php请求但是nginx和php是松耦合的,彼此之间的升级不会相互影响,对比升级apache需要重新编译libphp5.so来说更方便,当然PHP-fpm的配置型也更强
引用来自“eechen”的评论我一般编译php时都是同时使用--enable-fpm和--with-apxs2=/path/apache2/bin/apxs生成php-fpm和libphp5.so的,让PHP、apache、nginx三者协作起来,也很不错
引用来自“李惟”的评论我是nginx
引用来自“李惟”的评论我是nginx - php-fpm - PHP
php(cli) php-fpm(fpm-fcgi) php-cgi(cgi-fcgi) libPHP5.so(apache2handler)
另外php-fpm是独立处理php请求的,php-fpm(fpm-fcgi)不会去调用PHP(cli)
linux上用于运行php的apache建议编译时指定使用prefork mpm,这是一个多进程mpm,PHP运行在非线程安全模式下,不需要进行线程安全检查,性能更高更稳定
PHP的几种sapi:
加个apache效率太低