Laravel中缺少BC Math或GMP扩展

时间:2018-11-22 20:10:24

标签: php laravel ubuntu server gmp

我在Ubuntu 16.04上的PHP 7.2-fpm上运行Laravel 5.7.14。

我在本地环境中的代码运行正常,但是将其上传到生产服务器后,我收到了以下错误消息: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的缓存,但是没有任何变化,我一直收到此错误消息。

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

1 个答案:

答案 0 :(得分:1)

管理多个PHP版本有时非常混乱。

如果您使用的是类似Linux的系统,并尝试升级PHP版本,则有时您在同一系统上最终会获得2个版本。并非很少(尤其是当您手动配置了先前版本时),新安装的版本不会与Web服务器一起使用。就我个人而言,我还经历过PHP升级和让apache使用新版本但作为模块而不是FPM的经历,因此,如果您使用的是apache,还应该提防,因为FPM和apache的PHP模块可能具有不同的配置也一样