Press "Enter" to skip to content

PHP运行模式

PHP有5种运行模式,常见的有4种:

1. cgi 协议模式

cgi模式:通用网关接口(Common Gateway Interface),它允许web服务器通过特定的协议与应用程序通信

调用原理大概为:用户请求 -> Web服务器接收请求 -> fork子进程调用程序/执行程序 -> 程序返回内容/程序调用结束 -> web服务器接收内容 -> 返回给用户

由于每次用户请求,都得fork创建进程调用一次程序,然后销毁进程,所以性能较低

2. fast-cgi 协议模式

fast-cgi是cgi模式的升级版,它像是一个常驻型的cgi,只要开启后,就可一直处理请求,不再需要结束进程

调用原理大概为:(web服务器fast-cgi进程管理器初始化,预先fork n个进程) 用户请求 -> web服务器接收请求 -> 交给fast-cgi进程管理器 -> fast-cgi进程管理区接收,给其中一个空闲fast-cgi进程处理 -> 处理完成,fast-cgi进程变为空闲状态等待下次请求 -> web服务器接收内容 -> 返回给用户

fast-cgi和cgi都是一种协议,开启的进程是单独实现该协议的进程

3. 模块模式

apache+php运行时,默认使用的是模块模式,它把php作为apache的模块随apache启动而启动,接收到用户请求时则直接通过调用mod_php模块进行处理

4. cli 模式

cli是php的命令行运行模式

PHP运行指定文件

php script.php
php -f script.php

使用或不使用 -f 参数都能够运行脚本的script.php,同时执行的脚本文件并非必须以.php为扩展名,它们可以有任意的文件名和扩展名

在命令行直接运行 PHP 代码

php -r "echo 'Hello World!';"
Leave a Reply

Your email address will not be published. Required fields are marked *