разница между $ _SERVER и apache_note

Мне нужно получить код страны пользователя, и я справился с этим, используя оба

apache_note('GEOIP_COUNTRY_CODE')

а также

$_SERVER['GEOIP_COUNTRY_CODE']

Есть ли какая-то причина, почему я должен использовать один из них над другим, или они оба одинаковы? Они выводят один и тот же результат и, как видно, имеют один и тот же индексный ключ, поэтому я предполагаю, что он исходит из того же места, это правильно?

Я пробовал использовать функцию php geoip_country_code_by_name($_SERVER['REMOTE_ADDR]) но это только возвращает null (geoip установлен) каждый раз, когда $_SERVER а также apache_note только не работал, когда я маршрутизировал через Швейцарию.

1

Решение

Лучше использовать $_SERVER потому что если ваше приложение будет масштабировано, вы можете рассмотреть возможность перехода на nginx для производительности и там apache_note функция может быть недоступна, пока $_SERVER будет доступен под каждым сервером.

Из документации:

The main use for apache_note() is to pass information from one module to another within the same request.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]