php 的 几种运行方式

web 服务器 在设计之初 是为了给用户提供静态资源的!

php5_module
用LoadModule 来加载php5_module, 把php作为apache 的一个子模块来运行。
apache 与php 通讯
当通过web访问php文件时,apahce就会调用php5_module来解析php代码。那么 php5_module是 如何将数据传输给php 的解析器来解析php代码的?但是通过 sapi
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程池
apache调用php执行的过程如下:apache -> httpd -> php5_module -> sapi -> php
这种模式将php模块安装到apache中,每一次apache请求,都会产生一条进程,这个进程就完整的包括php的各种运算计算等操作。

sapi是什么?
sapi 这是 PHP 内核提供给外部调用其服务的接口,即外部系统可以通过 SAPI 来调用 PHP 提供的编译脚本、执行脚本的服务。(pi提供了一个和外部通信的接口,使得PHP可以和其他应用进行交互数据(apache,nginx等)。php默认提供了很多种sapi,常见的提供给apache和nginx的php5_module、CGI、FastCGI,给IIS的ISAPI,以及Shell的CLI。)

cgi , php-cgi
cgi 是一种协议,用来规定 web服务器 和 动态语言解析器 交互的一种协议
php-cgi 是php 解析器
缺点: 每次来个请求都会创建一个 php-cgi


fastcgi,php-fpm
fastcgi 是一个常住的协议(动态 进行)
php-fpm 是fastcgi 协议的 实现 是 进行管理器 管理 php-cgi!

php 的 几种运行方式

上一篇:微信小程序开发及相关设置小结


下一篇:css3新特性