在控制器中,如何在zf2中获取$_SERVER
个变量?
例如,我想获得$_SERVER['HTTP_HOST']
,$_SERVER['REMOTE_ADDR']
等等。
我尝试过使用以下内容:
$this->getRequest()->getServer();
但结果是:
Fatal error: Call to undefined method Zend\Http\Request::getServer()
答案 0 :(得分:4)
要从控制器中获取$ _SERVER值,我能够:
$request = new \Zend\Http\PhpEnvironment\Request();
$httpHost = $request->getServer('HTTP_HOST');
$remoteAddr = $request->getServer('REMOTE_ADDR');
由于我在回答我自己的问题,我很想知道是否有其他推荐的解决方案。
答案 1 :(得分:2)
如果你的控制器扩展了AbstractActionController,你可以在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();
}
}