CLI和CGI的区别

CGI :“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。以CGI方式运行时,web server将用户请求以消息的方式转交给PHP独立进程,PHP与web服务之间无从属关系。纯粹调用--返回结果的形式通讯。而模块方式,则是将PHP做为web-server的子进程控制,两者之间有从属关系。最明显的例子就是在CGI模式下,如果修改了PHP.INI的配置文件,不用重启web服务便可生效,而模块模式下则需要重启web服务。

CLI :“ 命令行界面”(Command Line Interface),可在用户提示符下键入可执行指令的界面。CLI则是命令行接口,用于在操作系统命令行模式下执行PHP,比如可以直接在win的cmd或Linux的shell模式下直接输入 php a.php 来得到结果。它与CGI模式最大的不同的地方在于既不会输出HTTP头信息(CGI模式除了输出用户能看到的结果外,还会输出用户不能直接看到的HTTP 头信息),抛出的信息也直接以文本方式而不以HTML方式给出,比如新建一个 test.php,写入内容 <?php phpinfo();?> ,在浏览器中可以看到以HTML表格描述的信息,而在命令行输入 php test.php 则会直接看到纯文本的输出。

时间: 2024-10-09 03:18:22

CLI和CGI的区别的相关文章

Servlet 的生命周期,Servlet 和CGI 的区别

Servlet 的生命周期:实例化,初始化,提供服务,销毁实例 Web 容器加载Servlet 并将其实例化后,Servlet 生命周期开始,容器运行其init 方法进行Servlet 的初始化,请求到达时运行其service 方法,service方法自动派遣运行与请求对应的doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy 方法. Servlet 和CGI 的区别: 与cgi 的区别在于servlet 处于服务器进程中,它通过多线程方式运行其ser

Servlet 与 CGI的区别

CGI:Common Gateway Interface,通用网关接口. Servlet的生命周期及与CGI的区别: Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法. 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求. CGI处理步骤: 首先,

说出 Servlet 的生命周期,并说出 Servlet 和 CGI 的区别。

Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派 遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候 调用其 destroy 方法. 与 cgi 的区别在于 servlet 处于服务器进程中,它通过多线程方式运行其 service 方法, 一个实例可以服务 于多个请求,并且其实例一般不会销毁,而 CGI 对每个请求都产生新的进程,服务完成后 就销毁,所以 效率上低于 se

php的几种运行模式CLI、CGI、FastCGI、mod_php

1.CLI:就是命令行,可以在控制台或者是shell中执行. 如linux服务器中的crontab 执行php代码: /usr/local/php/bin/php /project/some/debug.php   此时php是用php-cli执行php脚本的.此模式执行php时,没有maximum execution time of 30 的限制 2.CGI:以下是不同的说法与理解 公共网关接口"(Common Gateway Interface),HTTP服务器 与你的或其它机器上的程序 进

fastcgi与cgi的区别

先讲下cgi:cgi在2000年或更早的时候用得比较多, 以前web服务器一般只处理静态的请求,如果碰到一个动态请求怎么办呢?web服务器会根据这次请求的内容,然后会fork一个新进程来运行外部c程序(或perl脚本...), 这个进程会把处理完的数据返回给web服务器,最后web服务器把内容发送给用户,刚才fork的进程也随之退出. 如果下次用户还请求改动态脚本,那么web服务器又再次fork一个新进程,周而复始的进行. 后来出现了一种更高级的方式是, web服务器可以内置perl解释器或ph

servlet和CGI的区别和联系

1. 定义: CGI(Common Gateway Interface 公共网关接口)是HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上. 2. 功能: 绝大多数的CGI程序被用来解释处理杰自表单的输入信息,并在服 务器产生相应的处理,或将相应的信息反馈给浏览器.CGI程序使 网页具有交互功能. 3. 运行环境: CGI程序在UNIX操作系统上CERN或NCSA格式的服务器上运行. 在其它操作系统(如:windows NT及windows95等)的服务器上

servlet和CGI区别

Servlet和CGI的区别Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法.servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet.概括来讲,Servlet可以完

php cli模式

PHP 的命令行模式 从版本 4.3.0 开始,PHP 提供了一种新类型的 CLI SAPI(Server Application Programming Interface,服务端应用编程端口)支持,名为 CLI,意为 Command Line Interface,即命令行接口.顾名思义,该 CLI SAPI 模块主要用作 PHP 的开发外壳应用.CLI SAPI 和其它 CLI SAPI 模块相比有很多的不同之处,我们将在本章中详细阐述.值得一提的是,CLI 和 CGI 是不同的 SAPI,

CGI技术原理

一.CGI技术 1.1 CGI的提出 CGI是外部扩展应用程序与WWW服务器交互的一个标准接口.按照CGI标准编写的外部扩展应用程序可以处理客户端(一般是WWW浏览器)输入的协同工作数据,完成客户端与服务器的交互操作.这在实际应用中非常有用,如可以编写CGI外部扩展程序来访问外部数据库,客户端用户可以通过它和WWW服务器来进行数据查询.CGI一般分两种:标准CGI和缓冲CGI.所有的WWW服务器均应支持标准CGI,按标准CGI编写的程序与具体的WWW服务器无关.而按缓冲CGI编写的程序与WWW服