微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法

在一台处理网络支付的服务器迁移的时候,发现不能支付。

PHP环境:

PHP版本为5.3.3
系统为Red Hat 4.1.2-54查看apache的错误日志,发现是加密文件一个函数bcmul()报错:
代码如下:
PHP Fatal error: Call to undefined function bcmul() in /PHP_rsa.PHP on line xxx

解决办法:

使用如下命令:
代码如下:
PHP-bcmath

就安装好了。

如果出现下面这种情况:

代码如下:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.yun-idc.com
* extras: mirrors.yun-idc.com
* rpmforge: ftp.riken.jp
* updates: mirrors.yun-idc.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package PHP-bcmath.x86_64 0:5.1.6-40.el5_9 set to be updated
--> Processing Dependency: PHP-common = 5.1.6-40.el5_9 for package: PHP-bcmath
--> Running transaction check
---> Package PHP-common.x86_64 0:5.1.6-40.el5_9 set to be updated
--> Processing Conflict: PHP53-common conflicts PHP-common
--> Finished Dependency Resolution
PHP53-common-5.3.3-13.el5_9.1.x86_64 from installed has depsolving problems
--> PHP53-common conflicts with PHP-common
Error: PHP53-common conflicts with PHP-common
You Could try using --skip-broken to work around the problem
You Could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest


就需要使用yum update 之后再yum install PHP53-bcmath就好了


顺便了解了一下,bcmath这个函数PHP数学扩展中的一个。可以使用 bcscale() 来设置全局认的小数位数,具体用法如下:

代码如下:
string bcmul ( string $left_operand,string $right_operand [,int $scale ] )

例子:
代码如下:
PHP
echobcmul('1.34747474747','35',3);//47.161
echobcmul('2','4');//8
?>

函数PHP.ini中的选项:

代码如下:
[bcmath]
; Number of decimal digits for all bcmath functions.
; http://www.PHP.net/manual/en/bc.configuration.PHP#ini.bcmath.scale
bcmath.scale = 0

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐