博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于PHP CGI和CLI的几点学习
阅读量:6766 次
发布时间:2019-06-26

本文共 2202 字,大约阅读时间需要 7 分钟。

hot3.png

首先关于几个概念词的总结:

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

CGI :“公共网关接口”(Common Gateway Interface),HTTP 与你的或其它机器上的  “交谈”的一种 ,其 须运行在  上。在 环境中,为“ ”提供 的接口,通过这个接口,“ ”可以对 与 交换的 做一些 。“ ”的 言并没有要求。 对接口 操作。 要 CGI就要提供CGI中要求的环境 ,或者还有别的。我的理解至此为之。

 

CLI :“  行界面”(Command Line Interface),可在 提示符下键入可执行 的界面。

 

SAPI :“  应用 接口”(Server Application Programme Interface),可以认为是端的API。貌似和CGI是一个 ,每个 提供的API可能不同,但是他们都提供了CGI。所以可以理解CGI是每个 都 有的SAPI。 有自己的SAPI,IIS也有自己的。但是 能这些不同的 端工作,因为  了它们各自的SAPI。(CGI和CLI都是SAPI的 型 )

 

ISAPI :ISAPI   是可以被 HTTP   和 的 DLL。Internet   也称为 Internet  应用 (ISA),用于增强符合 Internet  API (ISAPI) 的 的。ISA 通过 应用  ,并且将相似的 提供给通用网关接口 (CGI) 应用 。

 

*(ISAPI的DLL应用 和WEB 处于同一个 中, 要显著高于CGI)

* CGI和 SAPI为 在Web 上运行的 环境; CLI为 在 行运行的接口

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

 的CLI 和 CGI

 

PHP 5 中对 CLI 和 CGI  名作了些改变。PHP 5 中,CGI  被改名为  -cgi. (以前是 . ),现在主 中的是 CLI  (之前是 cli/ . )。

PHP 5 中引进了一种新 : -win. 。这和 CLI  相同,只除了  -win 不 任何 ,因此 提供 (屏幕上 闪过“dos 窗口”)。此行为 似  -gtk。

PHP 5 中,CLI  总会产生全局 $argv 和 $argc 而不管  .ini 是怎么设的。即使将 register_argc_argv 设为 off 也不影响 CLI。

 

 

以CGI 运行PHP

 

<Directory />

    Options FollowSymLinks

    AllowOverride None

    Order deny,allow

    Allow from all

#    Deny from all

#不能有deny from all

    Satisfy all

</Directory>

 

AddType application/x- - .

Scr tAlias / 5/ "D:/ 5/"

#必须有结尾的“/”

Action application/x- - "/ 5/ -cgi. "

#必须为 -cgi.

#

Apache里PHP以  运行和CGI 运行的 : 

在CGI 运行时占用的 较 ,在ISAPI 下的 相对就较少点,也比较稳定.

 

以  运行需要的 :

LoadModule  5_module        modules/lib 5.so

//添加 解析的

AddType application/x- - .

//添加.Z解析的

AddType application/x-comp s .Z

//添加压缩 解析的

AddType application/x-gz .gz .tgz

 

 

以CLI 运行PHP

 

1*直接在终端执行

sjolzy@localhost#  -r ' _r(get_defined_constants());'

 

2*运行 -cli 

sjolzy@localhost#  my_scr t.

sjolzy@localhost#  -f my_scr t.

以上两种 ( 或不 -f  )都能够运行给定的 my_scr t.  。可以 任何 来运行,指定的 PHP  并非必须要以 . 为 名,它们可以有任意的 名和 名。

 

3*通过 输入(stdin)提供需要运行的 PHP  。

以上用法提供了非常强大的 ,使得可以如下范例所示, 地生成 PHP  并通过 行运行这些 :

$ some_application | some_ |  | sort -u >final_output.txt

 

以上三种运行 的 不能同时 。

 

用Cron执行 -cli

cron是一个 下的定时执行 ,可以在无需人工干预的情况下运行作业, 性作业,比如备份 ,Preminder定期查询PR等等,添加的 :打开/etc/crontab,添加:

0 13 * * * /usr/bin/ -f /home/ scr ts/ cli.

作者:   |  
地址: 

--EOF--

转载于:https://my.oschina.net/tianhuahua/blog/163463

你可能感兴趣的文章