• 如何利用phpize在生产环境中为php添加新的扩展php-bcmath


      在日常的开发当中,随着开发的功能越来越复杂。对运行环境的要求也就随着需求的变化需要不断地更新和变化。一个在线的生产系统不可能一开始就满足了所有的运行依赖,因此动态地添加依赖就显得比较必要了。如果你的应用是基于lanmp的话,那么很有可能某天需要添加一个apache的扩展或者php的扩展。此次记录一下如何添加一个php的扩展。由于需要接入银联的接口,而查看了下运行环境,发现缺少了高精度运算的扩展php-bcmath。

      程序运行的时候报如下异常

    php-bcmath【Fatal error: Call to undefined function bcscale()

      因此此处需要用phpize进行安装新的php扩展php-bcmath

      1、安装php-bcmath扩展

    cd /www/wdlinux/apache_php-5.2.17/lib/php/extensions/
    /www/wdlinux/apache_php-5.2.17/bin/phpize
    ./configure --enable-bcmath --with-php-config=/www/wdlinux/apache_php-5.2.17/bin/php-config
    make
    make test
    make install

      安装好以后可以看到bcmath.so的安装目录为

      /www/wdlinux/apache_php-5.2.17/lib/php/extensions/no-debug-zts-20060613/bcmath.so

      2、将bcmath.so扩展添加到php.ini

      编辑/www/wdlinux/wdphp/lib/php.ini 

    vi /www/wdlinux/wdphp/lib/php.ini

      添加如下内容:

    extension="/www/wdlinux/apache_php-5.2.17/lib/php/extensions/no-debug-zts-20060613/bcmath.so"

      3、重启服务

    service httpd restart

      4、phpinfo()检查是否安装成功

      创建文件phpinfo_test.php

    <?php
        phpinfo()
    ?>

      在浏览器中运行http://你的域名/phpinfo_test.php

      如果安装成功,你可以找到这样的结果项

    bcmath

    BCMath support enabled

      

  • 相关阅读:
    红黑树
    Spring事务Transactional和动态代理(三)-事务失效的场景
    Spring事务Transactional和动态代理(二)-cglib动态代理
    Spring事务Transactional和动态代理(一)-JDK代理实现
    深入JVM(二)JVM概述
    深入JVM(一)JVM指令手册
    Spark RDD的弹性到底指什么
    JDK源码分析-HashMap
    Spark性能优化指南——初级篇
    mysql 复制表结构
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/4631171.html
Copyright © 2020-2023  润新知