有没有一种简单的方法来获取Symfony中的ServerName?
问题描述:
我一直在寻找一种简单的方法来获取Symfony在Symfony中运行的计算机的ServerName(以便我的应用程序在具有不同ServerName的主机上使用时适用),但找不到一个。我在app.yml中创建了一个变量,然后我获取它,但我仍然怀疑是否没有更简单的方法来完成此操作。 你最近怎么样?我在不同的项目上使用Symfony 1.2和1.4。有没有一种简单的方法来获取Symfony中的ServerName?
答
我想我找到的东西:
$this->getRequest()->getHost()
这似乎是工作...它只会工作,它有是当然的要求,所以它不是通用的。
答
不是很漂亮,但我在前端控制器文件中使用$_SERVER["SERVER_NAME"]
,并用它来确定我激活环境:
$env = "prod";
if (preg_match("/qahost\.tld$/", $_SERVER["SERVER_NAME"]))
{
$env = "qa";
}
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', $env, false);
sfContext::createInstance($configuration)->dispatch();
我很想看到正确方法: - )
你不能使用gethostname()吗? http://php.net/manual/en/function.gethostname.php – mamoo 2010-06-11 08:29:08
对不起,我其实不想要主机名,但是ServerName(我编辑了我的文章) – greg0ire 2010-06-11 09:06:20