Мне нужно получить код страны пользователя, и я справился с этим, используя оба
apache_note('GEOIP_COUNTRY_CODE')
а также
$_SERVER['GEOIP_COUNTRY_CODE']
Есть ли какая-то причина, почему я должен использовать один из них над другим, или они оба одинаковы? Они выводят один и тот же результат и, как видно, имеют один и тот же индексный ключ, поэтому я предполагаю, что он исходит из того же места, это правильно?
Я пробовал использовать функцию php geoip_country_code_by_name($_SERVER['REMOTE_ADDR])
но это только возвращает null
(geoip установлен) каждый раз, когда $_SERVER
а также apache_note
только не работал, когда я маршрутизировал через Швейцарию.
Лучше использовать $_SERVER
потому что если ваше приложение будет масштабировано, вы можете рассмотреть возможность перехода на nginx
для производительности и там apache_note
функция может быть недоступна, пока $_SERVER
будет доступен под каждым сервером.
Из документации:
The main use for apache_note() is to pass information from one module to another within the same request.
Других решений пока нет …