2014-12-24 10 views
0

컨트롤러 내에서 zf2에서 $_SERVER 변수를 얻으려면 어떻게해야합니까?

예를 들어 $_SERVER['HTTP_HOST'], $_SERVER['REMOTE_ADDR'] 등의 정보를 얻고 싶습니다.

나는 다음과 같은 사용하여 시도했다 :

$this->getRequest()->getServer(); 

하지만이 결과 :

Fatal error: Call to undefined method Zend\Http\Request::getServer() 

답변

4

이 컨트롤러 내에서 $ _SERVER 값을 얻으려면, 내가 할 수 있었다 :

$request = new \Zend\Http\PhpEnvironment\Request(); 
$httpHost = $request->getServer('HTTP_HOST'); 
$remoteAddr = $request->getServer('REMOTE_ADDR'); 

나는 내 자신의 질문에 대답하고 있기 때문에 다른 권장 해결책이 있는지 궁금 할 것입니다. . 당신의 컨트롤러 AbstractActionController를 확장하는 경우

2

, 당신은 zf2의 V2.4에서 $this->getRequest()->getServer()->get('REMOTE_ADDR');을 사용할 수 있습니다

class ListController extends AbstractActionController 
{ 
    public function indexAction() 
    { 
     $addr = $this->getRequest()->getServer()->get('REMOTE_ADDR'); 

     \Zend\Debug\Debug::dump($addr); die(); 
    } 
}