我一直在寻找一种简单的方法来获取Symfony在Symfony中运行的机器的ServerName(以便我的应用程序在具有不同ServerName的主机上使用时适应),但我找不到。我在app.yml中创建了一个变量并获取它,但我仍然想知道是否有更简单的方法来执行此操作。 你好吗?我在不同的项目中使用Symfony 1.2和1.4。
答案 0 :(得分:47)
我想我找到了一些东西:
$this->getRequest()->getHost()
这似乎有效...它只会在有要求的情况下起作用,所以它不是普遍的。
答案 1 :(得分:2)
不是很好,但我在前端控制器文件中使用$_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();
我有兴趣看到正确的方法: - )