PHP для реализации инерфейса и обработки данных.
MySQL, CSV и т.д. для хранения данных.
Т.е. выбор у вас связки PHP (обязательно в 2 вариантах, вы же для prestashop делаете) + База данных. А для организации хранения данных можно будет использовать разные формы.
Для определения страны по IP используются базы данных:
Диапазон IP адресов - Страна.
в виде CSV, SQL или бинарных файлов спец.формата.
Как реализовать геолокацию по ip решеается от условий.
Самый распространненый способ GeoIP API.
GeoIP - PHP + база данных в бинарном формате.
Например, Вы делаете свою реализацию на MySQL, таблица: IP-диапазон; Номер страны; индекс по IP.
1 запись примерно 50 байт.
Теперь если перегнать всю базу GeoIP в вашу, то получится примерно 4-5 млн. диапазонов.
Т.е. только для одной таблицы нужно 300-400 МБ.
А база GeoIP - это всего 25 МБ. Соотвествено, она работает значительно быстрее.
Вот встречал такой текст, в приложении. Из него видно, что самыми медленными это запросы в MySQL.