שימוש בהגדרת IP Geolocation ב-PHP באמצעות התקנת PECL

גיאוגרפיה היא תכונה חשובה לאתר אינטרנט מכיוון שהיא מאפשרת לעסקים מקוונים לספק תוכן ממוקד למשתמשים הפוטנציאליים על סמך המיקום הגיאוגרפי שלהם. באמצעות נתוני גיאוגרפיה, בעל האתר יכול לספק תוכן מקומי, כגון חדשות מקומיות, מזג אוויר ואירועים, ולהציג את התוכן בשפה המקומית. זה יכול גם לעזור למנוע רכילות על ידי מאפשר לעסקים לזהות ולחסום פעילויות חשודה המקורה מאזורים גיאוגרפיים מסוימים. זהו כלי חשוב עבור בעלי אתרים ומפתחים לשיפור חווית המשתמש ולמניעת רשעות.

ניתן ליישם גיאוגרפיה במספר דרכים, כגון ברמת השרת האינטרנט, ברמת שפת התכנות, או באמצעות השימוש ב-SDK. בכתבה הקודמת שלנו, הדגמנו כיצד להתקין גיאוגרפיה בשרת Apache. בכתבה זו, אחקור גישה נוספת על ידי התקנת גיאוגרפיה בשפת PHP באמצעות התקנת PECL. למדורך הדגמה, נשתמש ב-IP2Location, אותו ספק גיאוגרפיה, כך שתוכלו להבין איך פועלת הגיאוגרפיה בסביבות שונות.

סקירת IP2Location

IP2Location היא מסד נתונים המכיל מידע על כתובות IP והמיקומים המשויכים אליהם. המסד נתונים מכיל מגוון רחב של מידע, כולל המדינה, האזור, העיר, הקו הרוחבי, הקו האורכי, שעון זמן, קוד הדואר, קוד האזור, מידע נייד, סוג השימוש, ועוד הרבה יותר עבור כתובת ה-IP.

לשימוש ב-IP2Location, אתה צריך להשיג עותק של מסד הנתונים ולטעון אותו ליישום שלך. ברגע שמסד הנתונים טוען, אפשר להשתמש בו לאיתור גיאוגרפי של כתובות IP ולהשיג מידע על המיקומים המשויכים להן.

הערה: גרסאות שונות של מסדי הנתונים נושאות דקדוקה שונה של מידע המיקום. אתה חייב להשיג את הגרסה הנכונה ליישום שלך.

סקירת התקנת PECL

PECL (PHP Extension Community Library) היא מאגר של PHP הרחבות המאפשר לך להוסיף פונקציונליות נוספת ליישום PHP שלך. הרחבת IP2Location היא אחת ההרחבות הקיימות ב-PECL, והיא מאפשרת לך להשתמש ב-IP2Location ביישום PHP שלך.

כדי להשתמש בהרחבת IP2Location, עליך להתקין אותה בשרת שלך באמצעות PECL. ברגע שההרחבה מותקנת, אפשר להשתמש בה בקוד PHP שלך לאיתור גיאוגרפי של כתובות IP ולהשיג מידע על המיקומים המשויכים להן. במדריך זה, אני אניח שכבר התקנת אפטיק ו-PHP, ושאתה מכיר ב-Debian 11.

מדריך צעד-אחר-צעד ליישום איתור גיאוגרפי IP ב-PHP באמצעות PECL

צעד 1: התקנת PECL

הצעד הראשון ליישום IP2Location ב-PHP הוא להתקין את PECL. כדי להתקין את PECL, עליך להתקין את כונניות הפיתוח PHP והכלים במערכת שלך. אפשר להתקין אותם באמצעות מנהל החבילות שלך אם לא קבעת אותם. לדוגמה, באובונטו או בדבין, אפשר להריץ את הפקודה הבאה:

  • sudo apt-get install php-dev php-pear

שלב 2: התקנת קובץ הספרייה הממשק C של IP2Location 

אתה זקוק לקובץ הספרייה הממשק C של IP2Location כדי לקמפל את המודול של 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

הפקודה לעיל תתקין את קובץ הספרייה הממשק C של IP2Location. 

שלב 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: הפעל מחדש אפרייה

עליך להפעיל מחדש את שרת אפרייה כדי לרענן את רשימת המודולים של PHP. כדי לעשות זאת, בבקשה הפעל את הפקודה הבאה:

  • sudo service apache2 restart

לאחר מכן אפשר להזין את הפקודה הבאה כדי לבדוק אם ההרחבה של IP2Location הותקנה בהצלחה וטוענת:

  • php -m | grep ip2location

אתה צריך לשים לב ש-IP2location מופיע לאחר שהפעלת את הפקודה הנ"ל.

שלב 6: הורדת מסד הנתונים של IP2Location 

לפני שתוכל להשתמש ב-IP2Location כדי לזהות את המיקום של כתובת IP, תצטרך להוריד את מסד הנתונים של IP2Location. מסד הנתונים זה מכיל מידע על המיקום הגיאוגרפי של כל כתובת IP.

אפשר להוריד את המסד הנתונים החינמי מאתר IP2Location LITE. ישנם מספר גרסאות שונות של מסדי נתונים, אז וודא שאתה בוחר את הגרסה המתאימה לצרכיך.

שלב 7: כתוב את הקוד שלך ב-PHP

עכשיו שהתקנתם את התוספת IP2Location והורדתם את מסד הנתונים, אתם מוכנים להתחיל להשתמש ב-IP2Location בקוד PHP שלכם. הנה דוגמה:

PHP

 

// טעינת המסד נתונים
ip2location_open('path/to/database.bin');

ברגע שטענתם את מסד הנתונים, אפשר להשתמש במחלקת IP2Location כדי לזהות את המיקום של כתובת IP. הנה דוגמה:

PHP

 

// הדפסת פרטי המיקום
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 די קלה בהשוואה למודולים של אפטייה, שכן דורשת רק התקנת הראשיונים והכלים הדרושים לפיתוח PHP. וכן, היא יותר גמישה מאחר והיא לא קשורה לשרת מסוים, אפשר להשתמש בה על כל מערכת הפעלה שתומכת ב-PHP.

עם זאת, יש חסרונות לשימוש בפיתרון זה. כדי להשתמש ב-PHP PECL, יש לכם ידע ב-PHP, בפקודות של לינוקס וביסודות של תהליך בניית החבילה. יתכן ש-PHP PECL לא תתפקד כמו מודול אפטייה עבור אתרים עם תנופת גישה גבוהה, שכן היא מוסיפה שכבה נוספת של עיבוד ל-PHP.

סיכום

חשוב להעריך היטב את היתרונות והחסרונות של כל גישת יישום לגילוי מיקום כדי לקבוע איזו מהן מתאימה הכי טוב לצרכים הספציפיים שלכם. גורמים כמו הידע הטכני שלכם, מערכת השרת ודרישות הביצועים צריכים להיחשב כשמקבלים החלטה.

Source:
https://dzone.com/articles/implementing-ip-geolocation-in-php-using-the-pecl-install