我安装了MaxMind的GeoIp2 => https://github.com/maxmind/MaxMind-DB-Reader-php
也php扩展https://github.com/maxmind/libmaxminddb更快的查找
当我像这样使用它时,一切都很好:
require_once '/pathto/Composer/vendor/autoload.php';
use GeoIp2DatabaseReader;
$reader = new Reader('/pathto/GeoLite2-Country.mmdb');
$record = $reader->country('8.8.4.4');
问题开始时,我试图在相同的php文件中使用它,我也使用我自己的自动加载器:
function __autoload($class_name) {
$p = explode("\", $class_name);
require_once 'pathto/'.$p[2].'.class.php';
}
似乎这两个自动加载器相互碰撞,事实上我不能在文件中使用GeoIp2与我的类混合。
我怎样才能解决这个烦人的问题?非常感谢。
这个问题已经解决了
spl_autoload_register();
下面是一个简单的例子:
function base_autoload($class_name) {
$p = explode("\", $class_name);
require_once '/mydir/'.$p[2].'.class.php';
}
spl_autoload_register('base_autoload');