lumisys/bcmath_compat

bcmath 扩展的 PHP 5.x/7.x 兼容库

1.0.5.1 2020-06-05 18:19 UTC

This package is auto-updated.

Last update: 2024-09-03 07:20:42 UTC


README

Software License Build Status

bcmath 扩展的 PHP 5.x/7.x 兼容库

安装

使用 Composer

$ composer require phpseclib/bcmath_compat

在 Heroku 上的安装

bcmath_compat 在 Heroku 上以及 Composer < 2.0 的正常安装方式不适用,因为 Heroku 使用了修改过的 composer.json。Composer 2 将此问题解决

鉴于上述情况,使用 Composer < 2.0 在 Heroku 上安装此库的方法如下

$ composer require phpseclib/bcmath_compat:1.0.4

限制

  • extension_loaded('bcmath')

    bcmath_compat 不能使此函数返回 true。建议不这样做。

  • ini_set('bcmath.scale', ...)

    您不能为未安装的扩展设置配置选项。如果您在一个未安装 bcmath 的系统上执行 ini_set('bcmath.scale', 5),则 ini_get('bcmath.scale') 将返回 false。这类似于您执行 ini_set('zzz', 5) 并然后执行 ini_get('zzz') 时发生的情况。您会得到 false

    对于执行 ini_set('bcmath.scale', ...) 的建议是执行 bcscale(...)。对于执行 ini_get 的建议是(如果您使用的是 PHP >= 7.3.0),执行 bcscale();或者(如果您使用的是 PHP < 7.3.0),执行 max(0, strlen(bcadd('0', '0')) - 2)

    请注意,ini_get 总是返回字符串,而建议的修复方法返回整数。