PHP安装GMP扩展

windows和linux环境下 PHP安装GMP扩展笔记

目录

Gmp介绍

window安装gmp扩展

Linux环境安装

遇到问题

解决步骤

[Linux 系统版本](#Linux 系统版本)

PHP版本

更新源

备份原有源配置

更新缓存

[安装 libgmp-dev](#安装 libgmp-dev)

宝塔面板安装

查看php扩展

简单测试

总结


Gmp介绍

PHP GMP是PHP的GNU Multiple Precision扩展库,用于处理任意精度的整数运算。

以下是核心信息:

支持大整数运算(如加减乘除、幂运算等)

提供最大公约数(GCD)、最小公倍数(LCM)等数学函数

可处理字符串或整数输入,自动识别进制(如gmp_init("101", 2))

window安装gmp扩展

打开小皮面板,从网站的php扩展中找到gmp,点击

Linux环境安装

在宝塔面板软件商店中应用分类-已安装找到php,选择设置>安装扩展,在扩展列表中找到gmp选择安装,如下:

遇到问题

显示安装成功,但是扩展中没有gmp,查看安装日志如下:

解决步骤
Linux 系统版本
bash 复制代码
# 查看系统版本(CentOS/Ubuntu 通用)
cat /etc/os-release

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
PHP版本
bash 复制代码
PHP 7.4.33 (cli) (built: Oct 26 2022 15:17:18) ( NTS )
更新源

(解决 Debian 11 官方源可能缺少 PHP 扩展的问题)

bash 复制代码
apt update && apt upgrade --y

E: The repository 'http://mirrors.cloud.tencent.com bullseye/updates Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details
备份原有源配置

避免误操作后无法恢复。先备份当前的 sources.list 文件,后续有问题可还原:

bash 复制代码
cp /etc/apt/sources.list /etc/apt/sources.list.bak
cp /etc/apt/sources.list.d/php.list /etc/apt/sources.list.d/php.list.bak  # 备份之前添加的 PHP 源

提示:

bash 复制代码
cp: cannot stat '/etc/apt/sources.list.d/php.list': No such file or directory
root@C202508289285:/www/wwwroot/bike# cp /etc/apt/sources.list.d/php.list /etc/apt/sources.list.d/php.list.bak
cp: cannot stat '/etc/apt/sources.list.d/php.list': No such file or directory

不影响,继续执行。

修改主源文件

删除原有错误的腾讯云源,替换为阿里云的 Debian 11 官方镜像源(同步及时、稳定):

清空原有主源,写入阿里云 Debian 11 镜像源(稳定无错),

写入完整的阿里云源(包含所有必需组件)

bash 复制代码
cat > /etc/apt/sources.list << EOF
deb http://mirrors.aliyun.com/debian/ bullseye main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bullseye main contrib non-free
deb http://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free
deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main contrib non-free
deb http://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free
deb http://mirrors.aliyun.com/debian/ bullseye-backports main contrib non-free
deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main contrib non-free
EOF
更新缓存
bash 复制代码
apt clean && apt autoclean && apt update --y
安装 libgmp-dev
bash 复制代码
apt install -y libgmp-dev
宝塔面板安装

重新通过宝塔面板的软件商店的php中安装gmp扩展。

日志如下:

已安装列表

查看php扩展

使用phpinfo,查看扩展中是否有gmp扩展

简单测试

测试一下是否可以正常使用gmp扩展。

示例代码:

php 复制代码
$num1 = gmp_init("12345678901234567890");
$num2 = gmp_init("98765432109876543210");
echo gmp_add($num1, $num2);die; // 输出大整数和

当没有开启gmp扩展时,提示:

开启后,效果如下:

111111111011111111100

总结

windows和linux环境下 PHP安装GMP扩展笔记,依赖都已安装的情况下其实很简单

相关推荐
geovindu2 分钟前
CSharp: State Pattern
开发语言·后端·c#·.net·状态模式·行为模式
IT小白杨6 分钟前
TikTok小店防封号浏览器实战:2026年多店铺环境隔离与账号安全运营技术解析
开发语言·数据库·安全·php·chrome devtools·指纹浏览器
2601_9669496512 分钟前
Python 量化开发为什么适合使用金融数据 SDK?从数据获取到策略研究的工程化实践
开发语言·python·数据分析·量化交易·股票数据·quantdash
万年咸鱼13 分钟前
Java ArrayList 详解:原理、用法与实战
java·开发语言·windows
长友cy18 分钟前
Qt官方示例Application源码阅读
开发语言·qt
程序员良辰25 分钟前
服务器 JDK 环境变量配置:一键安装和手动配置有什么区别?
开发语言·python
奈斯先生Vector32 分钟前
本地图片识别怎么接入多模态 AI?用 Python API 理解 GPT-4o Vision 的真实工作流
开发语言·人工智能·windows·python·网络协议·http·aigc
OPEN-F36 分钟前
C++17新特性精讲:结构化绑定、if constexpr与实用类型
开发语言·c++
OPEN-F39 分钟前
C++并发编程:线程与互斥锁
开发语言·c++
俊昭喜喜里41 分钟前
C#中的decimal
开发语言·c#