如何为PHP安装GMP扩展

54

在尝试运行 SimpleSAML 项目上的 composer update 命令时,我遇到了以下错误。

- openid/php-openid dev-master requires ext-gmp * -> the requested PHP extension gmp is missing from your system.

运行`sudo apt-get install php5-gmp`没有起作用,`sudo apt-get install php7-gmp`也不行。

2
“did not work” 是什么意思?apt-get 是否报错(php7-gmp 不存在)或者安装成功但没有帮助(php5-gmp 没有被 php7 使用)?命令 apt search php gmp 可以给你列出相关的软件包列表,它建议如果你使用当前默认版本的 PHP,则应该安装 php-gmp,或者如果你非常明确地想要使用 PHP 版本 7.0,则应该安装 php7.0-gmp。 - Marc Glisse
是的,错误在于包不存在。哦,apt search php gmp 是一个很好的做法。 - Sam Malayek
12个回答

89

在Ubuntu上安装PHP7.0的GMP,请运行: sudo apt-get install php7.0-gmp

确保你的php.ini包含以下内容: extension=php_gmp.so

要找出你的php.ini在哪里,运行: php --ini


非常感谢,问题已解决! - Rahul Gupta
运行命令并在php.ini文件中添加行后,我无法安装gmp模块。 - Ganesh K
1
不需要将该行添加到ini文件中,它会自动包含在内。 - Mike Shiyan
1
@Ganesh K,您需要安装与您的PHP版本相同的GMP。如果您的计算机上有多个PHP安装,则可以为每个PHP安装安装GMP。 - Mike Shiyan
1
我也不得不重新启动apache2,添加行到ini文件是不必要的。 - M.Othman

21

对于 PHP 7.2:

sudo apt-get install php7.2-gmp

18

在PHP 7中安装扩展的新方式就是只需要写 "php-EXTENSION"。在这种情况下,操作非常简单:

sudo apt-get install php-gmp

3
重要的是,这对于 PHP 8 也适用! - Antony

13

对于PHP 7.4版本:

sudo apt-get install php7.4-gmp

所以:Ubuntu 20.04


13

对于基于官方php镜像的docker,例如php:7.2-fpm

只需将以下内容添加到Dockerfile中

RUN apt install -y libgmp-dev && docker-php-ext-install gmp

7
如果您正在运行 php 7.2 及以上版本,则可以使用以下命令安装 gmp 扩展: sudo apt-get install php7.2-gmp 或者您也可以安装 bcmath 扩展,命令如下: sudo apt-get install php7.2-bcmath 我建议您两个扩展都安装,安装完成后重启 apache: sudo service apache2 reload sudo service apache2 restart

6

谢谢,这对我很有帮助。我使用的是 PHP 7.2 版本。

  1. sudo apt-get install php7.2-gmp
  2. extension=php_gmp.so

因此,我运行了以上两条命令。


5
apt-get install php7.1-gmp

那就交给我吧。

3
在Ubuntu 16.04LTS上出现了“无法定位包php7.1-gmp”的错误提示。 - Ganesh K

4

适用于CentOS

sudo yum install php-gmp

为Ubuntu系统适用的。
sudo apt install php-gmp

同时还需在ini文件中启用php扩展

extension=php_gmp.so

3

更新:apt-get 已经发展成为 apt。在现代系统上,它会自动检测 PHP 版本等信息。

sudo apt install php-gmp


1
我在我的Ubuntu 18上运行时遇到了问题,最终我不得不运行“sudo apt-get install php7.3-gmp”才使其正常工作。 - Augusto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接