BoWie's Home

一个存放记忆的角落

如何解决PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL问题

这篇文章主要介绍“如何解决PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL问题”,在日常操作中,相信很多人在如何解决PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何解决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

解决办法:
使用如下命令:

复制代码 代码如下:

yum install 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
echo bcmul(‘1.34747474747′, ’35’, 3); // 47.161
echo bcmul(‘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

发表回复

Your email address will not be published. Required fields are marked *.

*
*
You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>