【问题标题】:Unable to locate package php8.1-geoip找不到包 php8.1-geoip
【发布时间】:2022-09-23 23:12:17
【问题描述】:

我正在使用作为基础 Ubuntu 22.10 的系统从 PHP 7.4 升级到 8.1。

在旧图像中,我们使用的是php7.4-geoip,但这个包在 PHP 8.1 中不存在。

apt install php8.1-geoip

找不到包 php8.1-geoip

迁移到较新版本的程序是什么?

  • 您需要联系发行版的包维护者并要求他们为 8.1 构建/打包扩展,或者自己构建扩展。

标签: php ubuntu


【解决方案1】:

该软件包尚不可用,但您可以通过 composer 安装。

确保机器上安装了 GeoIP:

apt install -y geoip-bin geoip-database
geoipupdate -v

通过 PHP Composer 安装:

curl -sS https://getcomposer.org/installer | php
php composer.phar require geoip2/geoip2:~2.0

快速测试脚本以确保一切正常:

<?php

require_once 'vendor/autoload.php';

use GeoIp2\Database\Reader;

$geoip = new Reader('/usr/share/GeoIP/GeoLite2-City.mmdb');
$reader = $geoip->city('12.87.118.0');

echo "I should be United States.... ".$reader->country->name."\n";

输出:

root@cc19c55aedef:/# php test-geoip.php
I should be United States.... United States

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多