ISAPI
ISAPI(Internet Server Application Programming Interface),常日是指被http做事器所加载,以做事器的模块形式运行。如win下的apache、iis,而linux上php则以 Apache模块(常用办法)办法运行。
FastCGI
FastCGI是一个常驻(long-live)型的CGI,它可以一贯实行着,只要激活后,不会每次都要花费韶光去fork一个新进程。这种办法是与措辞无关的、可伸缩架构的CGI开放扩展,其紧张行为是将CGI阐明器进程保持在内存中并因此得到较高的性能。
传统的CGI方案中,当一个要求向 web server 发送要求时,web server总会fork一个CGI阐明器进程进行处理这个要求,进程处理完成之后将结果返回给web server,web server将结果返回并显示出来,进程结束,当用户再次要求同一个页面时,web server又会fork一个新进程进行要求处理,这样效率会比较低下(CGI被人诟病的紧张缘故原由。而采取FAST-CGI 阐明器的话,当一个要求实行完毕后不会注销该进程,而是将改进程进入休眠期,当吸收到新的要求时,重新启用改进程进行处理。FAST-CGI 较CGI 减少了进程的重复创建的资源占用。
PHP以FAST-CGI办法加载运行的时候选择TNS版,具有更好的性能。
选择常日win下 PHP + Apache 组合,以 ISAPI 的办法运行,而linux下常日分为2种:
Apache + PHP,PHP一样平常作为Apache的模块进走运行;Nginx + PHP ,以FastCGI的办法,即php-fpm的办法运行,该办法对高并发、高负载有良好的性能表示,因此很多网站采取该办法进行环境的搭建。总结:
以 ISAPI 办法运行就用 TS 线程安全版;以 FAST-CGI 或 PHP-FPM 办法运行就用NTS 非线程安全版;常日Linux 下 Apache + PHP 选TS,Nginx + PHP 选TNS;