解析argc argv在php中的应用

yipeiwu_com6年前PHP代码库

argc,argv 用命令行编译程序时有用
我们会在定时任务脚本中发现这样的参数,$obj->run($argv[1]);
*/30 * * * * /usr/local/bin/php /htdocs/test.com/uaqm/commands/test.php 1 >/dev/null 2>&1
就像上面那个定时任务,如果我们调用他的时候加上了参数$argv[1],那就代表了,在脚本中在DOS命令行中执行程序名后的第一个字符串
即上面脚本中对应的红色的那个1,如果我们部署了下面所列的定时任务
*/30 * * * * /usr/local/bin/php /htdocs/test.com/uaqm/commands/test.php 1 >/dev/null 2>&1
*/30 * * * * /usr/local/bin/php /htdocs/test.com/uaqm/commands/test.php 2 >/dev/null 2>&1
*/30 * * * * /usr/local/bin/php /htdocs/test.com/uaqm/commands/test.php 3 >/dev/null 2>&1
那么我们认为这个任务分了三个进程在运行,也就是说压力变为原始的三分之一,这样就很容易理解了

下面放出这两个关键字的官方解释。
  argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数
* argv: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数
argv[0] 指向程序运行的全路径名
argv[1] 指向在DOS命令行中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
        argv[argc]为NULL

相关文章

PHP 循环删除无限分类子节点的实现代码

复制代码 代码如下:<?php    private  function _deleteSubNode($ids){   ...

PHP学习之数组值的操作

1. 值的析取PHP中,用list来析取数组中的值,如list($a, $b) = $array。如果list中的值多于数组个数,list中多余的值会设为NULL。也可以用逗号来跳过数...

PHP安全性漫谈

PHP安全性漫谈

一、apache server安全性设置 1、以Nobody用户运行 一般情况下,Apache是由Root 来安装和运行的。如果Apache Server进程具有Root用户特权,那么它...

php提高网站效率的技巧

程序员在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少。往往我们在追求这些的同时却失去了很多东西。优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。以...

php防止SQL注入详解及防范

一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。对于攻击者来说,进行SQ...