使用CRON运行PHP脚本时获取标识服务器信息

时间:2011-01-12 19:41:50

标签: php cron

我有一个PHP脚本,我想通过cron运行。它应该加载不同的配置信息,具体取决于脚本是在我的本地服务器,QA服务器还是生产服务器上运行。问题是,当脚本通过cron运行时,它没有任何标识$ _SERVER信息,我用它来确定脚本运行的环境。

我唯一能想到的就是让cron作业本身为脚本附加一个参数,但我希望有一个更好的方法,我不必这样做。有什么其他方法可以识别脚本在从cron运行时所驻留的服务器吗?

感谢。

2 个答案:

答案 0 :(得分:3)

我通过下一个方法解决问题:传递给脚本环境变量。

如果是.htaccess / httpd.conf: SetEnv SITE_NAME x1

如果是cron(运行脚本):

#!/bin/bash
export SITE_NAME=x1;
php /path

在这两种情况下,获取此环境变量的PHP代码为:getenv('SITE_NAME');

x1 - 是一个示例站点名称。

答案 1 :(得分:0)

getenv('COMPUTERNAME')将返回正在运行的计算机名称...

但是,如果你的脚本在生产中做不同的测试,你怎么知道它在生产中是正确的?