命令行模式不经过APP Server,所以$_SERVER参数只是返回一个正常HTTP请求的子集。
其中HTTP_HOST就没有填写。如果你的程序需要在cron job中运行,那么就需要为命令行进行特殊处理。
if(defined('STDIN'))
{
//hardcodethebaseurlforcli
$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
CLI环境下设置Base_URL
本文介绍了如何在命令行模式下为PHP程序正确设置基础URL。由于命令行模式不会提供完整的HTTP环境,文章提供了代码示例来说明如何针对CLI环境进行特殊处理。
4153

被折叠的 条评论
为什么被折叠?



