CGI CLI 与 模块模式

本文介绍了PHP的不同运行模式,包括CGI、模块化及FastCGI等,并对比了它们之间的区别和优劣。重点分析了FastCGI模式下PHP的安全性和性能优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP 常量 PHP_SAPI 具有和 php_sapi_name() 相同的值
返回 web 服务器和 PHP 之间的接口类型。

在Apache环境下面输出的结果是“apache2handler”
在Cgi模式下输出的结果是“cgi-fcgi”
在命令行模式下输出的结果是“cli”

在CGI模式下,如果客户机请求一个PHP文件,Web服务器就调用PHP.exe去解释这个文件,然后再把解释的结果以网页的形式返回给客户机;

 而在模块化(DLL)中,PHP是与Web服务器一起启动并运行的。 

所以从某种角度上来说,以apache模块方式安装的 PHP4有着比CGI模式更好的安全性以及更好的执行效率和速度。 

二、FastCGI运行模式分析: FastCGI 模式运行 PHP 的优点: 以 FastCGI 模式运行 PHP 有几个主要的好处。

首先就是 PHP 出错的时候不会搞垮 Apache,只是 PHP 自己的进程当掉(但 FastCGI 会立即重新启动一个新 PHP 进程来代替当掉的进程)。

其次 FastCGI 模式运行 PHP 比 ISAPI 模式性能更好(我本来用 ApacheBench 进行了测试,但忘了保存结果,大家有兴趣可以自己测试)。 

最后,就是可以同时运行 PHP5 和 PHP4

以CGI方式运行时,web server将用户请求以消息的方式转交给PHP独立进程,PHP与web服务之间无从属关系.

纯粹调用--返回结果的形式通讯.

而模块方式,则是将PHP做为web-server的子进程控制,两者之间有从属关系.最明显的例子就是在CGI模式下,如果修改了PHP.INI的配置文件,不用重启web服务便可生效,而模块模式下则需要重启web服务.

 CLI则是命令行接口,用于在操作系统命令行模式下执行PHP,比如可以直接在win的cmd或linux的shell模式下直接输入 php a.php 来得到结果.它与CGI模式最大的不同的地方在于既不会输出HTTP头信息(CGI模式除了输出用户能看到的结果外,还会输出用户不能直接看到的HTTP 头信息),抛出的信息也直接以文本方式而不以HTML方式给出,比如新建一个 test.php,

写入内容 <?php phpinfo();?> ,在浏览器中可以看到以HTML表格描述的信息,而在命令行输入 php test.php 则会直接看到纯文本的输出.

http://blog.youkuaiyun.com/hguisu/article/details/7386882

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值