zoukankan      html  css  js  c++  java
  • linux下用phpize给PHP动态添加扩展

    原文:http://www.cnblogs.com/mrcoke/articles/2351878.html

    ----------------------------------------------------------------------------------------------------------

    使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能。

      我没有在手册中看到。

      如我想增加bcmath支持,这是一个支持大整数计算的扩展。windows自带而且内置,linux“本类函数仅在 PHP 编译时配置了 --enable-bcmath 时可用”(引号内是手册中的话)

      幸好有phpize,

      方法是,要有与现有php完全相同的php压缩包。我用的是php-5.2.6.tar.gz。

      展开后进入里面的ext/bcmath目录

      然后执行/usr/local/php/bin/phpize,这是一个可执行的文本文件,要确保它在系统中

      会发现当前目录下多了一些configure文件,

      如果没报错,则

      Php代码

      ./configure --with-php-config=/usr/local/php/bin/php-config

      注意要先确保/usr/local/php/bin/php-config存在。

      如果你的php安装路径不是默认的,要改。

      如果没有报错,则make,再make install ,然后它告诉你一个目录

      你把该目录下的bcmath.so拷贝到你php.ini中的extension_dir指向的目录中,

      修改php.ini,在最后添加一句extension=bcmath.so

      重启apache

    -----------------------------------------

    一、phpize是干嘛的?
    phpize是什么东西呢?php官方的说明:
    http://php.net/manual/en/install.pecl.phpize.php
    phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
    比如你想在原来编译好的php中加入memcached或者ImageMagick等扩展模块,可以使用phpize,通过以下几步工作。
    二、如何使用phpize?
    当php编译完成后,php的bin目录下会有phpize这个脚本文件。在编译你要添加的扩展模块之前,执行以下phpize就可以了;
    比如现在想在php中加入memcache扩展模块:我们要做的只是如下几步
    ————————————————————————
    tar zxvf memcache-2.2.5.tgz
    cd memcache-2.2.5/
    /usr/local/webserver/php/bin/phpize
    ./configure –with-php-config=/usr/local/webserver/php/bin/php-config
    make
    make install
    ————————————————————————
    注意./configure 后面可以指定的是php-config文件的路径
    这样编译就完成了,还需要做的是在php.ini文件中加入extension值
    extension = “memcache.so”

  • 相关阅读:
    C# 四种基本排序算法(冒泡排序,插入排序,选择排序,快速排序)外加折半排序
    jQuery ajax serialize() 方法
    关于问问题
    VIM键位图
    Highcharts选项配置详细说明文档
    awk处理文件内容格式
    【转】如何写出高性能SQL语句
    PHP合并、追加与连接数组
    如何选择web开发语言
    PHP 数据类型验证和获取
  • 原文地址:https://www.cnblogs.com/oxspirt/p/7442599.html
Copyright © 2011-2022 走看看