解析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 抽象方法与抽象类abstract关键字介绍及应用

PHP 抽象方法与抽象类 abstract 关键字 abstract 关键字用于定义抽象方法与抽象类。 抽象方法 抽象方法指没有方法体的方法,具体就是在方法声明的时候没有 {} 括弧以...

PHP记录和读取JSON格式日志文件

我们有时需要记录用户或者后端的某个操作事件的运行情况,可以使用后端语言如PHP将操作结果记录到日志文件中,方便测试和查找问题。尤其是这些在后端运行的而前端不能直接看到运行结果的,那么就可...

PHP多进程编程之僵尸进程问题的理解

PHP多进程编程之僵尸进程问题的理解 使用pcntl_fork函数可以让PHP实现多进程并发或者异步处理的效果:https://www.jb51.net/article/125789.h...

9个经典的PHP代码片段分享

一、查看邮件是否已被阅读   当你在发送邮件时,你或许很想知道该邮件是否被对方已阅读。这里有段非常有趣的代码片段能够显示对方IP地址记录阅读的实际日期和时间。 复制代码 代码如下: &l...

PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】

php三种基础算法:冒泡,插入和快速排序法 $array = array(2,3,5,6,9,8,1); //冒泡排序思想,前后元素比较 function sort_bulldle...