如何确定cronjob中的环境

时间:2013-03-30 19:39:25

标签: php codeigniter cron environment

我在如何在cronjob中确定应用程序的环境时遇到了问题。 我目前有2个环境:生产环境和测试环境。他们都使用自己的数据库。

我根据URL确定当前环境。例如:dev.domain.com将环境设置为测试,domain.com将其设置为生产。

这完美无缺。但是,这对cronjobs不起作用。因为cronjob没有域名。

我如何解决这个问题并保持动态?

这是代码目前的样子:

if($_SERVER['SERVER_NAME'] == 'dev.domain.com' || $_SERVER['SERVER_NAME'] == 'domain.local') {
    define('ENVIRONMENT', 'development');
}else if ($_SERVER['SERVER_NAME'] == 'domain.com'){
    define('ENVIRONMENT', 'production');
}

提前致谢。

1 个答案:

答案 0 :(得分:4)

您可以在cron作业中传递服务器名称。 示例如果您当前的php命令看起来像。

php a.php --uri="/foo"

它将成为

SERVER_NAME=dev.domain.com php a.php --uri="/foo"