Обычно, подобные вашему
глюки возникают при использовании ELB (Elastic Load Balancer) хостером. Или когда сайт работает за реверс-прокси сервером (например, CloudFlare или хостеровский nginx).
Там в
$_SERVER['HTTP_X_FORWARDED_FOR']
прилетает строка из нескольких IP:
"223.190.123.220, 66.102.6.83"
"2402:3a80:10d3:e19f:e7e1:8c35:fb4a:b49c, 66.102.6.89"
И, похоже,
Yii::$app->request->userIP не знает как с ними поступать (в строке по сути невалидный IP, и
filter_var($ip, FILTER_VALIDATE_IP)
на нём обламывается).
Как правильно определять IP посетителя в таких случаях (и какие ещё грабли вас поджидают), отлично изложено на Хабре:
REMOTE_ADDR vs HTTP_X_FORWARDED_FOR.
Вам надо узнать в какой переменной хостер присылает реальный IP посетителя, если он тупо добавляет её в $_SERVER['HTTP_X_FORWARDED_FOR'] - надо хотя бы узнать в начало или в конец. И выцеплять её оттуда.
PS: Я с Yii не работал, но скорее всего его можно "настроить" под вашу конкретику, там наверняка это предусмотрено. Посмотрите
echo '<pre>'.print_r($_SERVER, true).'</pre>';
что и под какими именами прилетает, может ваш хостер использует нестандартные заголовки для передачи реального IP посетителя.
PPS:
HTTP_X_FORWARDED_FOR в принципе нельзя использовать как IP-адрес. Если пользователь работает через свой прокси (или публичные Google-прокси, прокси Opera-mini и тп) - там бывает 3 IP-адреса и более, включая IPv6.