2015-02-19 2 views
-1

Я пытаюсь найти страну, связанную с внешним IP (а не посетителем) в скрипте PHP. Я установил модуль. Когда я запускаю nginx -V, --with-geoip-module появляется в списке, и у меня есть файл GeoIP.dat в /usr/share/GeoIP/ на моем сервере. У меня также есть путь к GeoIP файлов в моем nginx.conf:Внутренняя ошибка 500 с модулем nginx и PHP GeoIP

geoip_country /usr/share/GeoIP/GeoIP.dat; # the country IP database 

Вот код, я использую для тестирования:

<?php 
    echo geoip_country_code_by_name('69.84.125.113'); 
?> 

Это возвращает следующее сообщение об ошибке:

PHP message: PHP Fatal error: Call to undefined function geoip_open() in /usr/share/nginx/html/geoip.php on line 7" while reading response header from upstream, client: 69.84.125.113, server: localhost, request: "GET /geoip.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "mydomain.com"

Пожалуйста, помогите, я боролся с этим весь день!

ответ

0

Я думаю, вам нужно включить его в первую очередь.

include ("include/geoip.inc"); 
+0

Я получил его на работу, добавив, что включают в себя и $ ГИ = geoip_open ("GeoIP.dat", GEOIP_STANDARD); Но это означает, что он будет загружать этот файл 700kb каждый раз, когда скрипт обрабатывается? Я пишу сценарий отслеживания, который может срабатывать несколько раз в секунду, поэтому загрузка файла, размер которого при каждом прогоне действительно не идеальный. – phil

+0

Да, я думаю, он будет загружаться каждый раз. Возможно, вы можете переместить нужные вам функции в новый файл и включить это вместо ... звучит утомительно. – Mooseknuckles

Смежные вопросы