CakePHP Получить IP-адрес

Как я могу получить IP-адрес клиента в CakePHP? Это будет $_SERVER['REMOTE_ADDR'] в простом PHP.

Я думал, что это похоже на все $_SERVER vars, и к ним можно получить доступ с помощью env('VAR_NAME') или getClientIP() в CakePHP, но он не возвращает те же результаты.

Есть идеи?

CakePHP 1.x :

RequestHandlerComponent::getClientIp();

Поэтому, чтобы уточнить:

 public $components = array( 'RequestHandler' ); 

Затем в методе контроллера:

 $this->RequestHandler->getClientIp(); 

CakePHP 2.x :

RequestHandler::getClientIp() устарел; вы можете получить IP-адрес клиента из объекта CakeRequest :

 $this->request->clientIp(); 

Использование CakePHP 3.x:

 //in controller $ip = $this->request->clientIp(); 

Использование CakePHP 2.x

 //in controller $this->request->ClientIp(); 

Использование CakePHP 1.x

 //in controller RequestHandlerComponent::getClientIP(); 

Если вам нужно получить IP-адрес из модели, $this->request->getClientIp() не будет работать, бросая:

Ошибка: вызов функции-члена clientIp () для не-объекта

Router::getRequest()->clientIp() используйте Router::getRequest()->clientIp() .

Таким образом, в основном, Router::getRequest() может служить заменой модели $this->request