Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there an easy way to get the ServerName in Symfony?

I have been searching for an easy way to get the ServerName of the machine where Symfony runs in Symfony (so that my app adapts when it is used on a host with a different ServerName), but I couldn't find one. I created a variable in app.yml and I fetch it, but I still wonder if there is no easier way to do this. How are you doing this? I'm using Symfony 1.2 and 1.4 on different projects.

like image 952
greg0ire Avatar asked Jun 11 '10 08:06

greg0ire


2 Answers

I think I found something :

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

This seems to work... It will work only if there is a request of course, so it is not universal. So, this won't work using CLI.

like image 83
greg0ire Avatar answered Nov 15 '22 21:11

greg0ire


Not very nice, but I use $_SERVER["SERVER_NAME"] in my front controller file, and use that to determine the environment I'm activating:

$env = "prod";
if (preg_match("/qahost\.tld$/", $_SERVER["SERVER_NAME"]))
{
  $env = "qa";
}
$configuration = ProjectConfiguration::getApplicationConfiguration('frontend', $env, false);
sfContext::createInstance($configuration)->dispatch();

I'd be interested to see the proper approach :-)

like image 2
richsage Avatar answered Nov 15 '22 20:11

richsage