当前位置: 首页 > 后端技术 > PHP

PHP运行模式

时间:2023-03-29 18:28:30 PHP

运行模式PHP分为五种运行模式cgi(通用网关接口CommonGatewayInterface)fast-cgi(cgi升级版)cli(命令行模式CommandLineInterface)isapi(InternetServerApplicationProgramInterface,是微软提供了一套面向互联网服务的API接口)apache2handler(使用php作为apache模块)等方法(continuity、embed、litespeed、milter等)在本地查看运行模式phpinfo()php-r"echophp_sapi_name()》选择运行模式前提了解运行模式的优缺点和应用场景根据业务本身结合前面CLI模式CommandLineInterface的缩写,支持windows和Linux平台直接在命令上运行线路不带http服务器,如phptest.php应用场景定时任务开发桌面应用使用PHP-CLI和GTK封装CGI方式CommonGateway接口简称接口,连接网页和web服务器执行程序,将http服务器接收到的指令传递给执行程序,并将执行程序的结果返回给http服务器,支持跨平台执行http服务器接收用户的过程requests,比如index.php,会通过其配置的cgi服务执行生成一个php-cgi进程,执行php程序执行结果返回给http服务器。在任何操作系统中,Web和服务器都是独立的,结构清晰,可控性强。性能比较差。每个请求都会fork一个进程并消耗更多资源(fork-and-execute模式)。FastCGI模式逐渐少见。(FastCommonGatewayInterface)是CGI的增强版。它是一种允许交互式程序与Web服务器通信的协议。它致力于减少Web服务器与CGI程序的交互开销,使服务器可以同时处理更多的网页请求执行过程。在Web服务器启动时加载FastCGI进程管理器(php-fpm)。FastCGI进程管理器会启动多个CGI进程,等待web服务器的连接。当客户端请求到达Web服务器时,FastCGI进程管理器选择并连接到一个CGI解释器Web服务器将环境变量和标准输入发送到FastCGI子进程php-cgiFastCGI子进程在处理后从同一连接返回标准输出和错误消息到Web服务器。当FastCGI子进程关闭连接时,请求报告处理完成。然后FastCGI子进程等待并处理来自FastCGI进程管理器的下一个连接。在CGI模式下,php-cgi在此退出应用场景。提供http服务。优缺点跨平台,几乎任何操作系统都可以实现web和server独立,结构清晰,可控性强支持大并发多进程,Module模式更耗内存Module模式是指使用PHP作为webserver的一个模块来运行IISISAPI和Apache的apache2handlerapache2handlerapache来监听一个用户请求index.phpapache是??根据conf文件配置的。dll)调用PHP在mod_php5.so中注册一个phphookphp_ap2_register_hookphp_ap2_register_hookhook函数包括4个hook和对应的函数ap_hook_pre_config、ap_hook_post_config、ap_hook_handler、ap_hook_child_init。其中pre_config、post_config、child_init是启动钩子,在服务器启动时调用。处理程序是一个请求挂钩,在服务器处理请求时调用。其中post_confighook启动php。php执行完成后,通过.so或dll将数据返回给apache。Apache将数据返回给客户端。应用场景提供http服务。的优点和缺点。易于安装和配置,无需安装代码分析。二维码,持续关注:互联网工程师(id:phpstcn),一起学习进步