Heim >php教程 >php手册 >PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法

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

WBOY
WBOYOriginal
2016-06-13 09:36:071513Durchsuche

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

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 ] )


例子:

复制代码 代码如下:


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

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn