avatar

mdo

Hello

  • 首页
  • 知识库
  • 归档
  • 标签
  • 关于
主页 PHP安装BCMath扩展
文章

PHP安装BCMath扩展

发表于 2025-09-9 更新于 2025-09- 9
作者 mdo
3~4 分钟 阅读

我们都知道,大多数编程语言对于浮点型数据格式遵循 IEEE 754 标准,PHP也不例外,这就会导致在使用浮点数运算的过程中会有精度丢失的问题。PHP提供了BCMath库来支持更加精确的计算。但是我的PHP在编译时并没有安装BCMath库,如果需要安装在编译安装时指定--enable-bcmath即可。如果在编译安装时漏掉了,我们也可以对BCMath库单独进行安装,下面提供单独安装的步骤:

  1. 进入PHP源码包目录下的ext/bcmatch目录(我的目录是/usr/src/php-7.2.12/ext/bcmath)。

  2. 执行phpize命令,phpize命令在PHP安装目录的bin目录下(我的目录是/usr/local/php-7.2.12/bin/phpize)。

    # 如果已经把PHP的bin目录添加到系统环境变量,则直接在bcmath目录下执行phpize即可
    phpize
    
    #否则,要在bcmath目录下指定phpize命令的路径
    /usr/local/php-7.2.12/bin/phpize
    
  3. 预编译

    ./configure --with-php-config=/usr/local/php-7.2.12/bin/php-config
    
  4. 编译&&安装

    make && make install
    
  5. 在php.ini中添加该扩展(我的php.ini在/usr/local/php/lib目录下)

    extension=bcmath.so
    

  6. 重启PHP服务即可。

知识库
许可协议:  CC BY 4.0
分享

相关文章

7月 21, 2026

think-orm 2.0.62 单独设置数据表字段缓存驱动和数据缓存驱动

think-cache 拥有强大的多通道(Multi-store)管理能力,但问题的根源在于 think-orm 底层的调用机制太死板。即使您在 think-cache 中配置了 file 和 redis 两个完全独立的通道,think-orm 默认也只会向您通过 Db::setCache() 注入

7月 1, 2026

WebSocket Server + 独立 RPC Server

从架构角度来说,它已经接近 think-swoole 能做到的极限了,但是我仍然不建议继续这样维护。 原因不是代码写法,而是 think-swoole 本身的事件模型。 第一处问题:addListener() 仍然共享 Worker 你的代码: $rpcServer = $server->addLi

6月 25, 2026

Linux | Reqable · API抓包调试 + API测试一站式工具

Reqable是什么? Reqable = Fiddler + Charles + Postman 极简的设计、极高的性能、丰富的功能、桌面手机多端平台。 多协议流量分析 基于经典的MITM中间人代理方案捕获和分析您的应用流量,自适应HTTP/HTTPS/SOCKS4/SOCKS5等多种代理协议,并

下一篇

Linux批量修改文件644和文件夹755权限

上一篇

vue路由刷新页面后,参数丢失

最近更新

  • 完美地解决 TP3 老系统数据的平滑读取
  • thinkphp3 redis序列化和反序列化
  • Table 空间极易发生哈希冲突并溢出
  • 将监控程序直接跑在云端
  • AI 驱动型 Facebook 群组关键词监控 Chrome 浏览器插件

热门标签

API CodeGeex Gitkraken Management Manticore Premiere Sublime Swoole ThinkPHP ThinkPHP5

目录

©2026 mdo. 保留部分权利。