Laravel 中缺少 BC Math 或 GMP 扩展

Missing BC Math or GMP extension in Laravel

我 运行宁 Laravel 5.7.14 PHP 7.2-fpm Ubuntu 16.04。

我在本地环境中的代码运行良好,但是当我将它上传到生产服务器后,我收到了这个错误消息:Missing BC Math or GMP extension.

我已经安装了 GMP + BC Math。当我 运行 命令 php -i | grep -i bcmath 我得到这个:

/etc/php/7.2/cli/conf.d/20-bcmath.ini,
bcmath
BCMath support => enabled
bcmath.scale => 0 => 0

当我 运行 php -m 我得到这个:

[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

我已多次重启服务器并清除了 Laravel 的缓存,但没有任何变化,我不断收到此错误消息。

我在这里错过了什么?如果您需要更多信息,请随时询问。

管理多个 PHP 版本有时会很混乱。

如果您使用的是类似 Linux 的系统并尝试升级 PHP 版本,您有时会在同一系统上获得 2 个版本。并不少见(尤其是当您手动配置了以前的版本时),新安装的版本无法与网络服务器一起使用。就我个人而言,我也经历过升级 PHP 并让 apache 使用新版本,但作为一个模块而不是 FPM,所以如果你再次使用 apache,你也应该警惕 FPM 和 PHP apache 的模块也可能有不同的配置。