2

我有一个包含以下代码的 PHP 文件来检测用户所在的国家/地区:

<?php
// This code demonstrates how to lookup the country by IP Address
include("geoip/src/geoip.inc");

// Uncomment if querying against GeoIP/Lite City.
// include("geoipcity.inc");
$gi = geoip_open("geoip/src/GeoIP.dat", GEOIP_STANDARD);

$ip = $_SERVER['REMOTE_ADDR'];

if ( strpos($ip, ":") ) {
    echo 'your country is ' . geoip_country_code_by_addr_v6($gi, $_SERVER['REMOTE_ADDR']);
}
else {
    echo 'your country is ' . geoip_country_code_by_addr($gi, $_SERVER['REMOTE_ADDR']);
}

geoip_close($gi);
?>

直接加载时效果很好,你可以在这里看到http://de.wikiarquitectura.com/skins/mirlo/geoip/find_country.php

然后我有另一个 PHP 文件,如果我使用以下代码包含第一个文件,include("skins/mirlo/geoip/find_country.php");但不是插入与将其单独加载到页面时获得的相同结果,而是仅插入第一部分(IP 部分)并终止页面防止它继续加载。你可以在这里看到它:http: //de.wikiarquitectura.com/index.php/Quelle_der_vier_Fl%C3%BCsse

通过注释掉,我已经测试过问题发生在上述代码的第 7 行,$gi = geoip_open("geoip/src/GeoIP.dat", GEOIP_STANDARD);但我不明白为什么它在直接加载它时会起作用,并且在将它包含到另一个文件时确实会发送。

我把它包括错了吗?有任何想法吗?

谢谢!

4

0 回答 0