shell_exec() - запускает команду.
Команда будет выглядеть как-то так:
node /path/to/file.js
В винде, например, так:
C:\nodejs\bin\node.exe C:\mysite\script.js
Чтобы не передавать данные параметрами через shell_exec() можно формировать файл с данными и сохранять в определенную папку или в БД
Александр Чибиляев: Заголовок с IP-адресом формируется на более низком уровне, TCP. То есть, значение формируется на сервере, не клиент выбирает ip-адрес, с которого он будет отправлять запрос.
Программировать костыль? Что-то вы путаете частное с общим. shell_exec() существует, никто из разработчиков php не запрещает его использование. А geoiplookkup - стандартная для любой *nix системы и работает куда быстрее подключения к mysql при этом использует меньше памяти. Еще раз повторяю, входящие значения нужно проверять. IP-адрес - не относится к входящим значениям. В него невозможно поместить эксплойт.
Вместо использования shell_exec() программы, которая установлена на сервере, написана на чистом Си, оптимизирована 10-летним опытом лучше чем любой драйвер, программировать свой костыль на пыхе - это не Linuxway. Вам бы завязывать с программированием!
блин, проще сказать что решение плохое, дыра и все такое. IP - это не входящие данные. Человек зайдет с IP, в котором содержится эксплойт для базы GeoIP. Вы хоть понимаете о чем пишете?
Если сайт стоит на обычном хостинге, то GeoLite полюбому стоит, его много какого софта в зависимости ставят. На свой серв устанавливается во всех дистрибутивах с командной строки
Бывало, ncdu показывает карту занятости, и вроде все свободно, а оказалось в корне был скрытый (начинался с точки) файл чьего-то лога, который переполнял винт