PHP cronjob变量

时间:2014-02-06 07:33:47

标签: php variables cron constants

我必须完成一个使用php cronjob的旧项目。在cronjob中我必须检查这样的变量

defined('_CRONJOB') or die;

此常量可以使用不同的值来指示要执行的作业:

switch(_CRONJOB){ 
//...more code
}

如何在调用cronjob时设置此变量。提前谢谢。

2 个答案:

答案 0 :(得分:1)

由于您将使用cron启动脚本,因此您可以使用CLI参数并将一些值传递到脚本中。要处理您的参数,您可以使用简单的方法,例如:

define('_CRONJOB', $_SERVER['argv'][1]); //equal to 1-st parameter

在这种情况下,启动将如下:

/path/to/bin/php /path/to/script.php foo

您的_CRONJOB将等于foo

替代和更高级的方法是使用getopt()并获取命名参数。这将更具可读性,您将无法依赖参数顺序(即它将首先完全准确)。我建议你这样使用。

答案 1 :(得分:0)

取决于您的cronjobs的运行方式,最可能的答案是$argv$_SERVER['argv']

您的脚本将指向/path/to/cron/script/index.php var1 var2 var3

这个问题可能非常依赖于您的服务器设置,但请试一试

编辑: 已更新以更正变量语法