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

(0)

相关推荐

  • php运行提示:Fatal error Allowed memory size内存不足的解决方法

    本文实例讲述了php运行提示:Fatal error Allowed memory size内存不足的解决方法.分享给大家供大家参考.具体方法如下: 有些朋友新配置的环境或自己新写的程序运行时会碰到fatal error: Allowed memory size of 134217728 bytes exhausted错误,这种问题一个是程序写得不好导致的,另一个是环境配置不好也会出现,像php5.1.27+apache2.2.3好像在windows2003中就会出现bug不管你怎么修复都无法解

  • PHP捕获Fatal error错误的方法

    Fatal error 一般是不需要捕获的, 但是在一个复杂的程序中, 如果偶然出现内存不足导致fatal error就难以处理了. 比如. fatal error 出在MySQL类中fetch的时候. 这个时候就很难定位到真正问题所在了. PHP异常处理中 可以通过set_error_handler来捕获. 但是却只能捕获 NOTICE/WARNING级别的错误, 对于E_ERROR是无能为力的. register_shutdown_function 能解决set_error_handler的

  • 解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)

    [错误原因]:mysql_query执行超时.[解决办法]:修改php.ini中的 max_execution_time的值,默认为300,单位是秒,例如:;max_execution_time = 300;将其改为:max_execution_time = 3000最后,重新启动服务管理器即可~

  • PHP中使用register_shutdown_function函数截获fatal error示例

    我们在做项目时,偶尔会因为不谨慎而出现fatal error.如果display_errors设置成off,那用户将会看到的是一个空白的页面.若设置成了on,那fatal error的信息将会呈现出来(当然正常的人都不会这样干). 那我们有什么方法可以提前截获到fatal error,并用我们自己自定义的友好形式反馈给用户呢.PHP中有一个叫做  register_shutdown_function 的函数,可以让我们设置一个当执行关闭时可以被调用的另一个函数.也就是说当我们的脚本执行完成或意外

  • php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法

    本文实例讲述了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法.分享给大家供大家参考.具体如下: ZipArchive是php自带的一个压缩与解压缩函数了,今天理所当然的情况中使用new ZipArchive来创建zip文件时碰到提示Fatal error: Class ZipArchive not found in错误,感兴趣的朋友就一起来看看解决方法. 测试代码如下: 复制代码 代码如下: //PHP解压缩文件(

  • ThinkPHP提示错误Fatal error: Allowed memory size的解决方法

    本文实例讲述了ThinkPHP提示错误Fatal error: Allowed memory size的解决方法.分享给大家供大家参考.具体分析如下: 如果你的ThinkPHP提示你:致命错误(Fatal error: Allowed memory size),根据网上说的提高服务器可使用内存,我觉得都不是好的解决办法.麻烦也没必要.因为这是ThinkPHP本身存在BUG. 错误提示:Fatal error: Allowed memory size of 1073741824 bytes exh

  • Windows平台的 PHP 报错 Fatal error: Class COM not found in 的解决方法

    在 Win Server 08 往上搭载的 IIS 跑 php 性能提升不少,但还是觉得不太舒服... 某日在调试一个win上的php生产环境时,一段php代码返回了错误: Fatal error: Class 'COM' not found in XXXXXXXXX 没发现 COM 类,php代码主要是调用一些系统的信息,初想应该是php没配置好,在stackoverflow找到答案,是讨论xampp的,要延伸开来,我加了几个要点: ★ php 根目录的 ext 文件夹下确保存有 php_co

  • 写php分页时出现的Fatal error的解决方法

    Fatal error: Cannot redeclare htmtocode() (previously declared in D:\www_local\mytest\conn.php:7) in D:\www_local\mytest\conn.php on line 10 这个错误提示出现在写分页文件page.php时 google翻译这句话的意思是"致命错误:不能重新声明htmtocode()" 第10行的代码为 <body> <?php //连接数据库 i

  • 解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示

    解决分析: 这个错误是说你的php 执行时间越过了配置文件中设置的最大执行时间30秒钟,这不是你的程序本身存在的问题,而 是系统的配置文件问题,如果你的网速快的话,可能再执行一次就不会出现这种错误了,不过 有了出现这种问题也可以进行一定的修改 方法有三种: 1.修改php的配置文件,找到php.ini文件,它一般应该放在你的C:\WINDOWS目录下,然后找到 max_execution_time = 30 ;//设置成你想要的值,单位是秒, 这一行,这就是设置的执行时间最大值为30秒,你可以对

  • PHP中Fatal error session_start()错误解决步骤

    错误信息: Fatal error: session_start() [function.session-start]: Failed to initialize storage module: files (path: ) in C:\usr\phpMyAdmin\libraries\session.inc.php on line 75 I.更改服务器配置: 1.检查error.log(Apache2.2\logs)文件,查看是否有错误报告.未发现. 2.检查php.ini中的session.

随机推荐