我在如何在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');
}
提前致谢。
答案 0 :(得分:4)
您可以在cron作业中传递服务器名称。 示例如果您当前的php命令看起来像。
php a.php --uri="/foo"
它将成为
SERVER_NAME=dev.domain.com php a.php --uri="/foo"