Как правильно расставить скобки в следующем коде для устранения ошибки при переходе на PHP 8? $remote_addr = (getenv('HTTP_CLIENT_IP') ? getenv('HTTP_CLIENT_IP') : (getenv('HTTP_X_FORWARDED_FOR') ? getenv('HTTP_X_FORWARDED_FOR') : (getenv('HTTP_X_FORWARDED') ? getenv('HTTP_X_FORWARDED') : (getenv('HTTP_FORWARDED_FOR') ? getenv('HTTP_FORWARDED_FOR') : (getenv('HTTP_FORWARDED') ? getenv('HTTP_FORWARDED') : getenv('REMOTE_ADDR')))))); Я не очень разбираюсь в PHP, и мне нужна помощь. Благодарю!
Вот как можно расставить скобки, чтобы исправить ошибку при переходе на PHP 8: $remote_addr = (getenv('HTTP_CLIENT_IP') ? getenv('HTTP_CLIENT_IP') : (getenv('HTTP_X_FORWARDED_FOR') ? getenv('HTTP_X_FORWARDED_FOR') : (getenv('HTTP_X_FORWARDED') ? getenv('HTTP_X_FORWARDED') : (getenv('HTTP_FORWARDED_FOR') ? getenv('HTTP_FORWARDED_FOR') : (getenv('HTTP_FORWARDED') ? getenv('HTTP_FORWARDED') : getenv('REMOTE_ADDR'))))))); Расставляя скобки в таком порядке, код будет корректно работать на PHP 8.
Используйте следующий код для получения IP-адреса клиента: $remote_addr = getenv('HTTP_CLIENT_IP')
getenv('HTTP_X_FORWARDED_FOR')
getenv('HTTP_X_FORWARDED')
getenv('HTTP_FORWARDED_FOR')
getenv('HTTP_FORWARDED')
getenv('REMOTE_ADDR'); Или более краткая версия: $remote_addr = getenv('HTTP_CLIENT_IP') ?: getenv('HTTP_X_FORWARDED_FOR') ?: getenv('HTTP_X_FORWARDED') ?: getenv('HTTP_FORWARDED_FOR') ?: getenv('HTTP_FORWARDED') ?: getenv('REMOTE_ADDR');