phpseclib/bcmath_compat
BCMath compatibility layer for PHP environments without the bcmath extension. Provides drop-in function replacements used by phpseclib, helping big integer and cryptography features work consistently across shared hosts, minimal installs, and varied PHP builds.
PHP 5.x-8.x polyfill for bcmath extension
With Composer:
$ composer require phpseclib/bcmath_compat
extension_loaded('bcmath')
bcmath_compat cannot make this return true. The recommended remediation is to not do this.
ini_set('bcmath.scale', ...)
You cannot set configuration options for extensions that are not installed. If you do ini_set('bcmath.scale', 5) on a system without bcmath installed then ini_get('bcmath.scale') will return false. It's similar to what happens when you do ini_set('zzz', 5) and then ini_get('zzz'). You'll get false back.
The recommended remediation to doing ini_set('bcmath.scale', ...) is to do bcscale(...). The recommended remediation for doing ini_get is (if you're using PHP >= 7.3.0) to do bcscale() or (if you're using PHP < 7.3.0) to do max(0, strlen(bcadd('0', '0')) - 2).
Note that ini_get always returns a string whereas the recommended remediations return integers.
How can I help you explore Laravel packages today?