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
则会直接看到纯文本的输出。
原文链接
CLI和CGI的区别:http://www.cnblogs.com/zjdeblog/p/6899574.html
本文由 feng 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:2021-03-04 00:00:00