在一臺(tái)處理網(wǎng)絡(luò)支付的服務(wù)器遷移的時(shí)候,發(fā)現(xiàn)不能支付。
1.PHP版本為5.3.3
2.系統(tǒng)為Red Hat 4.1.2-54
查看apache的錯(cuò)誤日志,發(fā)現(xiàn)是加密文件中一個(gè)函數(shù)bcmul()報(bào)錯(cuò):PHP Fatal error: Call to undefined function bcmul() in /php_rsa.php on line xxx ,這個(gè)函數(shù)是PHP數(shù)學(xué)擴(kuò)展中的一個(gè),使用 bcscale() 來(lái)設(shè)置全局默認(rèn)的小數(shù)位數(shù),具體用法如下:
- echo bcmul('1.34747474747', '35', 3); // 47.161
- echo bcmul('2', '4'); // 8
- ?>
解決方法使用如下命令:yum install php-bcmath 就安裝好了,如果出現(xiàn)下面這種情況:
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就好了,此函數(shù)在php.ini中的選項(xiàng):
- [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 //數(shù)學(xué)庫(kù)配置選項(xiàng)
新聞熱點(diǎn)
疑難解答