تعيين الموقع الجغرافي هو ميزة مهمة لموقع الويب لأنها تمكن الشركات التجارية عبر الإنترنت من توفير محتوى مستهدف للمستخدمين المحتملين بناءً على موقعهم الجغرافي. باستخدام بيانات تعيين الموقع الجغرافي، يمكن لمالك الموقع توفير محتوى محلي، مثل الأخبار المحلية والطقس والأحداث، وعرض المحتوى باللغة الأم. كما يمكن أن تساعد في منع الاحتيال عن طريق السماح للشركات بالكشف عن الأنشطة المشبوهة ومنعها من أماكن جغرافية معينة. إنها أداة مهمة لمالكي ومطوري المواقع لتحسين تجربة المستخدم ومنع الاحتيال.
يمكن تنفيذ تعيين الموقع الجغرافي بطرق مختلفة، مثل على طبقة الخادم الويب، طبقة لغة البرمجة، أو من خلال استخدام SDK. في مقالنا السابق، أظهرنا كيفية تثبيت تعيين الموقع في خادم أباتشي. في هذا المقال، سأستكشف نهجاً آخر عن طريق تثبيت تعيين الموقع في لغة PHP باستخدام تثبيت PECL. في هذا العرض، سنستخدم IP2Location، وهو المزود نفسه لتعيين الموقع، حتى يمكنك فهم كيفية عمل تعيين الموقع في بيئات مختلفة.
نظرة عامة على IP2Location
IP2Location هي قاعدة بيانات تحتوي على معلومات حول عناوين IP ومواقعها المرتبطة. تحتوي القاعدة على مجموعة متنوعة من المعلومات، بما في ذلك البلد والمنطقة والمدينة والعرض الجغرافي والطول الجغرافي والتوقيت الزمني ورمز البريد ورمز الهاتف ومعلومات الهواتف المحمولة ونوع الاستخدام وغيرها الكثير لعنوان IP.
لاستخدام IP2Location، تحتاج إلى الحصول على نسخة من قاعدة البيانات وتحميلها في تطبيقك. بمجرد تحميل قاعدة البيانات، يمكنك استخدامها لتوجيه عناوين IP واسترداد معلومات حول المواقع المقترنة بها.
ملاحظة: تحمل نسخ مختلفة من قواعد البيانات دقة مختلفة لمعلومات الموقع. عليك الحصول على النسخة الصحيحة لتنفيذك.
نظرة عامة على تثبيت PECL
PECL (مكتبة التوافق PHP) هي مستودع لـPHP الامتدادات التي تسمح لك بإضافة وظائف إضافية إلى تطبيق PHP الخاص بك. امتداد IP2Location هو أحد الامتدادات المتاحة في PECL، ويسمح لك باستخدام IP2Location في تطبيق PHP الخاص بك.
لاستخدام امتداد IP2Location، ستحتاج إلى تثبيته على الخادم الخاص بك باستخدام PECL. بمجرد تثبيت الامتداد، يمكنك استخدامه في التعليمات البرمجية PHP لتوجيه عناوين IP واسترداد معلومات حول المواقع المقترنة بها. في هذا البرنامج التعليمي، سأفترض أن لديك بالفعل تثبيت Apache وPHP، وأنت على دراية بـ Debian 11.
دليل خطوة بخطوة لتنفيذ توجيه المكانية IP في PHP باستخدام PECL
الخطوة 1: تثبيت PECL
الخطوة الأولى لتنفيذ IP2Location في PHP هي تثبيت PECL. لتثبيت PECL، ستحتاج إلى وجود أطروحات تطوير PHP وأدوات تثبيتها على النظام الخاص بك. يمكنك تثبيت هذه باستخدام مدير الحزم إذا لم تكن قد أعدت تشغيلها. على سبيل المثال، على Ubuntu أو Debian، يمكنك تشغيل الأمر التالي:
sudo apt-get install php-dev php-pear
الخطوة 2: تثبيت مكتبة IP2Location C
تحتاج إلى مكتبة IP2Location C لتجميع وحدة PHP. للقيام بذلك، استخدم الأمر التالي:
sudo apt-get install git
سيثبت هذا الأمر أمر git. ثم، قم بتشغيل الأمر التالي لنسخ مشروع IP2Location من GitHub:
sudo git clone https://github.com/chrislim2888/IP2Location-C-Library
ثم، داخل مجلد المشروع، قم بتشغيل الأمر التالي:
autoreconf -i -v --force
./configure
make
make install
سيثبت الأمر السابق مكتبة IP2Location C.
الخطوة 3: تثبيت تمديد IP2Location
بما أنك قمت بتثبيت PECL، يمكنك الآن تثبيت تمديد IP2Location. للقيام بذلك، قم بتشغيل الأمر التالي:
sudo pecl install ip2location
سيقوم هذا بتنزيل وتثبيت تمديد IP2Location لـ PHP.
الخطوة 4: تكوين PHP لاستخدام تمديد IP2Location
بما أنك قمت بتثبيت تمديد IP2Location، يجب تكوين PHP لاستخدامه. للقيام بذلك، ستحتاج إلى إضافة سطر إلى ملف php.ini
.
للعثور على ملف php.ini
الخاص بك، يمكنك تشغيل الأمر التالي:
php -i | grep php.ini
سيُظهر هذا الطريقة إلى ملف php.ini
الخاص بك. بمجرد الحصول على المسار، يمكنك فتح الملف في محرر النص الذي تفضلته.
بعد ذلك، أضف السطر التالي إلى ملف php.ini
الخاص بك:
extension=ip2location.so
هذا سيوجه PHP لتحميل ملحق IP2Location.
الخطوة 5: إعادة تشغيل Apache
تحتاج إلى إعادة تشغيل خادم Apache لتحديث قائمة وحدات PHP. للقيام بذلك، يرجى تنفيذ الأمر التالي:
sudo service apache2 restart
ثم يمكنك إدخال الأمر التالي للتحقق مما إذا كان ملحق IP2Location تم تثبيته وتحميله بنجاح:
php -m | grep ip2location
يجب أن تلاحظ IP2location بعد تنفيذ الأمر أعلاه.
الخطوة 6: تنزيل قاعدة بيانات IP2Location
قبل أن تتمكن من استخدام IP2Location لتحديد موقع عنوان IP، ستحتاج لتنزيل قاعدة بيانات IP2Location. تحتوي هذه القاعدة على معلومات حول الموقع الجغرافي لكل عنوان IP.
يمكنك تنزيل القاعدة المجانية من موقع IP2Location LITE. هناك عدة إصدارات مختلفة من القواعد المتاحة، لذا تأكد من اختيار الإصدار المناسب لاحتياجاتك.
الخطوة 7: كتابة سطر التعليمات البرمجية PHP الخاص بك
الآن بعد أن قمت بتثبيت تمكين IP2Location وتنزيل قاعدة البيانات، أنت مستعد لبدء استخدام IP2Location في رمز PHP الخاص بك. هنا مثال:
// تحميل قاعدة البيانات
ip2location_open('path/to/database.bin');
بمجرد تحميل قاعدة البيانات، يمكنك استخدام فئة IP2Location لتحديد موقع عنوان IP. هنا مثال:
// طباعة معلومات الموقع
echo 'Country code: ' . ip2location_get_country_short(‘8.8.8.8’) . “\n”';
echo 'Country name: ' . ip2location_get_country_long(‘8.8.8.8’) . “\n”;
سترى النتيجة التالية:
المزايا والعيوب في تثبيت PECL للموقع الجغرافي
يسهل تثبيت PHP PECL مقارنة بوحدات Apache، حيث يتطلب فقط تثبيت رؤوس وأدوات تطوير PHP اللازمة. أيضاً، هو أكثر مرونة لأنه لا يربط بأي خادم ويب معين، يمكن استخدامه على أي منصة تدعم PHP.
ومع ذلك، هناك عيوب في استخدام هذا الحل. لاستخدام PHP PECL، تحتاج إلى معرفة بعض برنامج PHP، الأوامر اللينكسية، وأساسيات عملية بناء الحزمة. قد لا يؤدي PHP PECL بنفس كفاءة وحدة Apache لمواقع عالية الحركة، حيث يضيف طبقة إضافية من المعالجة لـ PHP.
الخاتمة
من المهم تقييم الأفضلية والعيوب لكل طريقة تنفيذ الموقع الجغرافي لتحديد أيها الأنسب لاحتياجاتك الخاصة. يجب أخذ عوامل مثل مهارتك الفنية، منصة الخادم، ومتطلبات الأداء في الاعتبار عند اتخاذ قرار.
Source:
https://dzone.com/articles/implementing-ip-geolocation-in-php-using-the-pecl-install