登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

SeaRiver Blog

实力才是你一生最好的依靠!

 
 
 

日志

 
 

CLI的配置参数  

2008-01-31 19:59:24|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |


阅读提示:《PHP5与MySQL5 Web开发技术详解》第20章主要讲的使用PHP编写Shell,本小节主要讲了CLI的配置参数。

20.2.2  CLI的配置参数

下面是有关CLI SAPI运行对php.ini配置进行强制覆盖的参数,以适合运行在Shell环境或命令行环境下。

(1)CLI默认以安静模式开始,不会输出任何HTTP头信息。

(2)在运行时,不会把工作目录改为脚本的当前目录(可以使用-C和-no-chdir参数来兼容CGI模式)。

(3)出错时输出纯文本的错误信息(非HTML格式)。

(4)CLI SAPI强制覆盖了php.ini中一些参数的设置:
&61656; html_errors:CLI默认为False,不显示HTML格式错误;
&61656; implicit_flush:CLI默认为True;
&61656; max_execution_time:CLI默认为0(即没有超时限制);
&61656; register_argc_argv:CLI默认为True,即通过argc传递参数。

关于implicit_flush和register_argc_argv介绍如下:
implicit_flush = On

强制flush(刷新),让PHP告诉输出层在每个输出块之后自动刷新自身数据,等效于在每个print()或echo()调用和每个HTML块后调用flush()函数。
register_argc_argv = On ;

这条命令告诉PHP是否声明argv和argc变量。变量“$argc”提供传递给应用程序的参数数量,数组“$argv”里保存着实际的参数值
&61656; 
在PHP CLI下,有3个常量定义在Shell环境下,分别为STDIN、STDOUT和STDERR,包括了在Shell设备下文件处理的所有情况,如STDIN(标准输入):fopen('php://stdin', 'r')。因此,我们可以从STDIN读到一行数据,类似于$strLine = trim(fgets(STDIN));。

注意:STDIN已经定义在PHP CLI下。
&61656; 
在PHP 5.x版本后,已经修改了CLI与CGI的文件名,负责解释CGI版本的文件为php-cgi.exe,负责给CLI解释的文件为php.exe。

CLI模式对于开发如抓取网页信息等功能非常有用,可以不需要打开浏览器就运行某个PHP去抓取,也不会存在超时的情况。CLI模式在程序运行完之后,工作台界面会立即关闭,并且占用系统资源要比CGI方式小得多。

除了上述特征外,CLI脚本与Web下的PHP脚本没有什么不同,也需要用<?php ?>来包含代码。

  评论这张
 
阅读(540)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018