2015-03-05 5 views
1

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

apache_note('GEOIP_COUNTRY_CODE') 

и

$_SERVER['GEOIP_COUNTRY_CODE'] 

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

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

ответ

2

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

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

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

+1

Идеальное объяснение :) – develophper

Смежные вопросы