CLI和CGI的区别

博客分类: software 阅读次数: comments

CLI和CGI的区别

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

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

原文链接

CLI和CGI的区别:http://www.cnblogs.com/zjdeblog/p/6899574.html