سؤال
لقد قمت بتثبيت حزمة Net_Geo الكمثرى على خادم PHP الخاص بي.
هذا هو الرمز الذي أستخدمه،
GetRecord ($ IP)؛ // إخراج صدى "نتائج IP واحدة:"؛ صدى صوت "
"؛ print_r (نتائج $)؛ صدى""؛. جلب صفيف معلومات من Net_Geo $ النتائج = $ net_geo-> getrecord ($ arr_ips)؛ // إخراج صدى "نتائج IP متعددة:
"؛ صدى صوت "
"؛ print_r (نتائج $)؛ صدى""; ?>
ولكن هذه القطعة لا تعرض أي نتائج. أعتقد أن هذا الرمز لا يعمل على الإطلاق.
هذا هو كائن net_geo
كائن Net_Geo ([cache_path] => / tmp / [cache_ttl] => 30 [default_timeout] => 60 [default_caida_server] => http://netgeo.caida.org/perl/netgeo.cgi.default_hostip_server] => http://api.hostip.info/localizer_data] => ./demo.csv [service] => [cache_prefix] => netgeo [useragent] => php / netgeo [useragent_version] => 1.0 [array_limit] => 100 [ذاكرة التخزين المؤقت] => كائن cache_function ([[ انتهاء الصلاحية => 2592000 [التخزين المؤقت] => 1 [gc_time] => 1 [gc_probability] => 1 [gc_maxlifetime] => 86400 [حاوية] => كائن cache_container_file ([filelocking] => [cache_dir] => / tmp / [filename_prefix] => NetGeo [إدخالات] => صفيف ()
[total_size] => 0
[max_userdata_linelength] => 257
[preload] => 1
[id] =>
[group] =>
[expires] => 0
[cachedata] =>
[userdata] =>
[unknown] => 1
[encoding_mode] => base64
[highwater] => 2048000
[lowwater] => 1536000
[allowed_options] => Array
(
[0] => encoding_mode
[1] => highwater
[2] => lowwater
)
[group_dirs] => Array
(
)
)
[_debug] =>
[_default_error_mode] =>
[_default_error_options] =>
[_default_error_handler] =>
[_error_class] => PEAR_Error
[_expected_errors] => Array
(
)
)
[netgeo_global] => netgeo_global
[useragent_string] =>
[default_server] =>
[last_target] =>
[applicationName] =>
[alternateServerUrl] =>
)
شكرا
المحلول
صفحة الوثائق من Net_Geo::Net_Geo()
يقول ان :
تقبل الطريقة مع المعلمات:
bool Net_Geo() ( string $applicationName = '' , string $alternateServerUrl = '' )
وتلك المعلمات هي:
string $applicationName
- اختياري اسم التطبيق للاستخدام في UserAgent عند الاقتراع NetGeostring $alternateServerUrl
- سيتم تعيين عنوان URL إلى برنامج نصي خدمة NetGeo، على "http://netgeo.caida.org/perl/netgeo.cgi."ما لم يتغير
أنت لا تمر بأي من هذه المعلمات - مما يعني استخدام عنوان URL لخدمة خدمة NetGeo الافتراضية ...
... وإذا حاولت فتحه ( http://netgeo.caida.org/perl/netgeo.cgi. )، سترى أنه لا يعمل؛ يقول Firefox الخاص بي إنه لا يمكن الاتصال بالخادم.
ربما يشرح هذا سبب عدم إنتاج الكود الخاص بك أي إخراج متوقع: إذا كان يعتمد على خادم Geolocalition، وهذا الخادم لا يعمل بعد الآن ...
ك Sidenote: وفقا لمؤشر حزم الكمثرى في قسم الشبكات, Net_Geo
لا يتم الحفاظ عليه بعد الآن، وتم إصدار النسخة الأخيرة في 2006-03-29؛ التي ليست تماما علامة جيدة ...
إذا كنت تستطيع تثبيت حزم Pecl (ربما تحتاج إلى أن تكون مشرف من الخادم الخاص بك), ، ربما حزمة geoip. سوف تهمك.