1.PHP版本为5.3.3
2.系统为Red Hat 4.1.2-54
查看apache的错误日志,发现是加密文件中一个函数bcmul()报错:
PHP Fatal error: Call to undefined function bcmul() in /php_rsa.php on line xxx
这个函数是PHP数学扩展中的一个。使用 bcscale() 来设置全局默认的小数位数,具体用法如下:
<?php
echo bcmul(‘1.34747474747′, ’35’, 3); // 47.161
echo bcmul(‘2’, ‘4’); // 8
?>
解决:
使用如下命令:
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就好了
此函数在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
BC 数学库配置选项
转载请注明:苏demo的别样人生 » PHP Fatal error: Call to undefined function bcmul()解决办法