サンプル PHP スクリプトから MAXMIND の geoip.dat を呼び出そうとすると、奇妙なエラーが発生しました - http://dev.maxmind.com/geoip/downloadable
*Warning*: Unexpected character in input: '
in*C:\Inetpub\wwwroot\clients\geoip\GeoIP.dat*on line*983*
*Parse error*: syntax error, unexpected T_STRING
in*C:\Inetpub\wwwroot\clients\geoip\GeoIP.dat*on line*983*
バイナリ ファイルである Geoip.dat は、 http://dev.maxmind.com/geoip/geoliteから個別にダウンロードする必要があります。私が使用しなかった CSV バージョンもあることに注意してください。
私のコードは、パスを除いて、サンプル スクリプトとほぼ同じです。
<?php
// This code demonstrates how to lookup the country by IP Address
include("GeoIP.dat");
// Uncomment if querying against GeoIP/Lite City.
// include("geoipcity.inc");
$IPaddress=$_SERVER['REMOTE_ADDR'];
$gi =
geoip_open("C:\Inetpub\wwwroot\clients\geoip\GeoIP.dat",GEOIP_STANDARD);
echo geoip_country_code_by_addr($gi, $IPaddress) . "\t" .
geoip_country_name_by_addr($gi, $IPaddress) . "\n";
echo geoip_country_code_by_addr($gi, $IPaddress) . "\t" .
geoip_country_name_by_addr($gi, $IPaddress) . "\n";
geoip_close($gi);
?>
これが私のPHP情報の出力です:
PHP Version 5.2.6
System Windows NT 5.2 build 3790
Build Date May 2 2008 18:01:20
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" "--with-extra-includes=C:\Program Files (x86)\Microsoft SDK\Include;C:\PROGRA~2\MICROS~2\VC98\ATL\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\MFC\INCLUDE" "--with-extra-libs=C:\Program Files (x86)\Microsoft SDK\Lib;C:\PROGRA~2\MICROS~2\VC98\LIB;C:\PROGRA~2\MICROS~2\VC98\MFC\LIB"
Server API ISAPI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File C:\Parallels\Plesk\Additional\PleskPHP5\php.ini
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib, https, ftps
Registered Stream Socket Transports tcp, udp, ssl, sslv3, sslv2, tls
Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower,