Как я могу получить 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