1、nginx + swoole
swoole是一个异步、并行、高机能的网络通信引擎,运用纯C言语编写,供应了php言语的异步多线程效劳器。swoole内置了http/websocket效劳器端和客户端,http2.0效劳器端,支撑相似Go言语的协程,能够运用同步代码完成一步顺序。
swoole采纳I/O多路复用异步壅塞的Reactor模子,采纳多线程Reactor+多线程Worker完成异步I/O。Reactor基于Epoll,每一个Reactor能够处置惩罚无数个衔接要求,因而能够轻松处置惩罚高并发。
Nginx+swoole形式下,nginx作为前端接入层转发机,swoole作为应用效劳器构建高并发web效劳。
2、nginx + php-fpm
FastCGI是一个中立的技术规范,php-fpm是php言语的FastCGI历程治理器。
CGI的fork-and-execute形式有许多瑕玷,每吸收一个要求就要fork一个历程处置惩罚,只能吸收一个要求做出一个相应;每一个web要求PHP都必须从新剖析php.ini文件,从新载入悉数扩大并初始化悉数数据结构。
FastCGI会事前启动起来,剖析php.ini文件,载入扩大,初始化数据结构都只会在启动时完成,作为一个CGI治理效劳器存在,运用历程/线程池预先启动一系列的子历程来守候处置惩罚。然后web效劳器发过来要求,一旦FastCGI吸收到要求就交给子历程处置惩罚,不需要在吸收到要求后启动CGI,会快许多。Web效劳器经由过程一个socket长衔接要求FastCGI历程治理器。
FastCGI历程像是一个常驻CGI,在要求抵达时,FastCGI历程治理器挑选并衔接一个PHP-CGI诠释器去吸收web效劳器发送过来的环境变量和规范输入,要求处置惩罚完成后将规范输出或毛病从统一衔接返回给web效劳器,该PHP-CGI诠释器子历程守候处置惩罚来自FastCGI历程治理器的下一个衔接。
3、apache + mod_php
mod_php形式运转php,意味着php是作为apache的一个模块来启动。只要在apache启动的时刻会读取php.ini配置文件并加载扩大模块,在apache运转时期是不会再去读取和加载扩大模块的。Apache出于稳定性和安全性斟酌,一般运用默许的prefork形式运转php顺序。在prefork形式下,一个零丁的掌握历程担任发生子历程,这些子历程用于监听要求并作出应对。
Apache老是试图坚持一些备用或余暇的子历程用于驱逐行将到来的要求,如许客户端无需在获得效劳前期待子历程的发生。然则,一旦衔接数多了,apache必需要生成更多的历程来相应要求,CPU关于历程的切换就很频仍,很耗事宜和资本,致使apache机能下落;同时,apache在同步壅塞I/O模子下,select遍历多个衔接句柄才晓得句柄是不是有事宜关照,因而效力异常低。
引荐教程:PHP视频教程
以上就是php有哪些运转环境的细致内容,更多请关注ki4网别的相干文章!