问题现象
在宝塔面板给 PHP 8.2 / 8.3 安装 gmp 扩展时,日志里常见以下报错:
configure: error: GNU MP Library version 4.2 or greater required.
make: *** No targets specified and no makefile found. Stop.
gmp.sh: line 101: GetSysInfo: command not found
ERROR: gmp-83 installation failed.
看起来像是 gmp 源码编译失败,根因通常是 Ubuntu 系统里没装 GMP 开发库和编译工具,不是宝塔脚本本身坏了。
处理方法(SSH 执行系统安装命令)
登录服务器,按 PHP 版本执行对应命令即可。
1. 安装系统依赖(必做)
sudo apt update
sudo apt install -y libgmp-dev build-essential autoconf re2c
libgmp-dev提供 GNU MP 库头文件和链接库,缺它就会出现GNU MP Library version 4.2 or greater required。
2. 回到宝塔重新安装 gmp 扩展
依赖装好后,打开:软件商店 → PHP → 设置 → 安装扩展 → gmp,再点安装,一般就能成功。
备选:直接用 apt 装 PHP gmp 扩展
如果面板里还是装不上,可以用系统包装好的扩展(比源码编译省事):
PHP 8.2:
sudo apt install -y php8.2-gmp
PHP 8.3:
sudo apt install -y php8.3-gmp
装完后重启 PHP:
sudo /etc/init.d/php-fpm-82 restart # 82 改成你的版本号
# 或在宝塔面板里重启 PHP 服务
验证是否生效:
php -m | grep gmp
看到 gmp 即表示安装成功。
小结
| 报错关键词 | 缺什么 | 安装命令 |
|---|---|---|
| GNU MP Library version 4.2 or greater required | GMP 开发库 | apt install -y libgmp-dev |
| No makefile found | configure 失败(同上) | 先装依赖再重装扩展 |
| gmp-83 installation failed | PHP 8.3 gmp 编译失败 | 装依赖后重试,或apt install php8.3-gmp |
一句话:Ubuntu 上先 apt install libgmp-dev build-essential,再回到宝塔装 gmp,99% 能解决。