سؤال

لقد قمت بتثبيت حزمة 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 عند الاقتراع NetGeo
  • string $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. سوف تهمك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top