命令行模式不经过APP Server,所以$_SERVER参数只是返回一个正常HTTP请求的子集。
其中HTTP_HOST就没有填写。如果你的程序需要在cron job中运行,那么就需要为命令行进行特殊处理。
if (defined('STDIN'))
{
//hardcode the base url for cli
$config['base_url'] = "http://yoursite.com/";
}
else
{
$config['base_url'] = "http".((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "s" : "")."://".$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
}
regards,
iefreer