Undefined index: REMOTE_ADDR

Всё про тестирование в Yii 2.0
Ответить
jakiro
Сообщения: 540
Зарегистрирован: 2013.03.05, 15:15

Undefined index: REMOTE_ADDR

Сообщение jakiro » 2017.09.12, 02:00

Привет!
Всю ночь убил на поиски траблы, найти ответ не могу :(
Пытаюсь запустить codecept, но как оказалось, не видно REMOTE_ADDR.
В CLI режиме оно не доступно, надо полагать, что никто не передает для php таких данных.
Как результат все сыпется, где есть $_SERVER['REMOTE_ADDR'];
Запустил из консоли var_dump $_SERVER и дейтсивтельно, есть любой хлам, только не REMOTE_ADDR, хоть бы и пустой

Код: Выделить всё

php > var_dump($_SERVER);
array(80) {
  ["ANSICON"]=>
  string(17) "152x1000 (152x38)"
  ["ANSICON_DEF"]=>
  string(1) "7"
  ["ConEmuANSI"]=>
  string(2) "ON"
  ["ConEmuAnsiLog"]=>
  string(0) ""
  ["ConEmuArgs"]=>
  string(0) ""
  ["ConEmuArgs2"]=>
  string(0) ""
  ["ConEmuBackHWND"]=>
  string(10) "0x00DB06CE"
  ["ConEmuBaseDir"]=>
  string(24) "D:\Dropbox\ConEmu\ConEmu"
  ["ConEmuBuild"]=>
  string(6) "161206"
  ["ConEmuConfig"]=>
  string(0) ""
  ["ConEmuDir"]=>
  string(17) "D:\Dropbox\ConEmu"
  
  ... много хлама
  
Есть какой-то лайфак, или установить его или передать на лету где-нибудь?
Сам php лежит в Open Server

Аватара пользователя
ElisDN
Сообщения: 4590
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Undefined index: REMOTE_ADDR

Сообщение ElisDN » 2017.09.12, 09:14

Варианты:

- Убрать $_SERVER['REMOTE_ADDR'] из кода и передавать его снаружи.
- Добавить проверку isset($_SERVER['REMOTE_ADDR']).
- Заменить на Yii::$app->request->getRemoteIP().
Не забудьте пройти мастер-класс по Yii2.

jakiro
Сообщения: 540
Зарегистрирован: 2013.03.05, 15:15

Re: Undefined index: REMOTE_ADDR

Сообщение jakiro » 2017.09.13, 02:03

ElisDN писал(а):
2017.09.12, 09:14
Варианты:

- Убрать $_SERVER['REMOTE_ADDR'] из кода и передавать его снаружи.
- Добавить проверку isset($_SERVER['REMOTE_ADDR']).
- Заменить на Yii::$app->request->getRemoteIP().
Дык вот проблема в том, что это модуль статистики, был бы мой, я бы заменил, а он в папке vendor. Можно переопределить конечно или выключить. Как передать параметром REMOTE ADDR пока не знаю. Народ пишет мол юзайте через сервер ;( Просто установить $_SERVER['REMOTE_ADDR'] = '1.1.1.1' его не получилось

Аватара пользователя
SiZE
Сообщения: 2435
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Undefined index: REMOTE_ADDR

Сообщение SiZE » 2017.09.13, 09:11

Через DI подменить нужный класс и делов.
Сделать pull request.
Клонировать в свою репу.
Настроить сервер чтобы отдавал REMOTE_ADDR.
Установить вручную
Почитать интернет https://stackoverflow.com/questions/536 ... rver-array
https://www.google.ru/search?q=$_SERVER ... 0not%20set

jakiro
Сообщения: 540
Зарегистрирован: 2013.03.05, 15:15

Re: Undefined index: REMOTE_ADDR

Сообщение jakiro » 2017.09.14, 09:42

SiZE писал(а):
2017.09.13, 09:11
Через DI подменить нужный класс и делов.
Сделать pull request.
Клонировать в свою репу.
Настроить сервер чтобы отдавал REMOTE_ADDR.
Установить вручную
Почитать интернет https://stackoverflow.com/questions/536 ... rver-array
https://www.google.ru/search?q=$_SERVER ... 0not%20set
Все ссылки фиолетовые.
Как переписать мы способ найдем. Спасибо. Но вопрос был не в этом.

Nex-Otaku
Сообщения: 350
Зарегистрирован: 2016.07.09, 21:07

Re: Undefined index: REMOTE_ADDR

Сообщение Nex-Otaku » 2017.09.17, 13:37

Можно переопределить конечно или выключить.
По-другому никак.

Ответить