代码之家  ›  专栏  ›  技术社区  ›  greg0ire

在symfony中有没有一种简单的方法来获取servername?

  •  24
  • greg0ire  · 技术社区  · 15 年前

    我一直在寻找一种简单的方法来获取在symfony中运行symfony的机器的服务器名(这样,当我的应用程序在具有不同服务器名的主机上使用时,它就会适应),但我找不到。我在app.yml中创建了一个变量并获取它,但我仍然想知道是否没有更简单的方法可以做到这一点。 你好吗?我在不同的项目中使用symfony 1.2和1.4。

    2 回复  |  直到 12 年前
        1
  •  47
  •   greg0ire    15 年前

    我想我发现了一些东西:

    $this->getRequest()->getHost()
    

    这似乎有效…它只会起作用,当然有一个请求,所以它不是万能的。

        2
  •  2
  •   richsage    15 年前

    不是很好,但我用 $_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();
    

    我想看看 适当的 途径:-