注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

phperwuhan的博客

记载一个phper的历程!phperwuhan.blog.163.com

 
 
 

日志

 
 

PHP中安装PECL 扩展库  

2009-09-08 08:26:12|  分类: php |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

来源:http://www.opensourceproject.org.cn/article.php?id=662

PECL 安装介绍

» PECL 是通过 » PEAR 打包系统来的 PHP 扩展库仓库,本章内容示范了怎样取得并安装 PECL 扩展。

以下指南中假定 /your/phpsrcdir/ 是 PHP 源程序的路径,extname 是 PECL 扩展库的名字。自己根据实际情况调整。此外还假定用户熟悉 » pear 命令

要使用共享扩展库,必须经过编译,安装,然后加载。以下说明的方法提供了怎样编译和安装扩展库德各种指导,但并不会自动加载它们。可以通过将其包括在 php.ini 中用 extension PHP 指令加载,或者 用 dl() 函数。

当编译 PHP 模块时,拥有各种工具(autoconf,automake,libtool 等)的已知好使的版本很重要。所需工具和所需版本的详情见» 匿名 CVS 说明

下载 PECL 扩展库

下载 PECL 扩展库有几种方法,如:

  • » http://pecl.php.net/ PECL 网站包括有 PHP 开发组提供的不同扩展库的信息。这里的信息包括:更新记录,版本说明,需求,以及其它信息。
  • pear download extname PECL 网站中列出的 PECL 扩展库的发行版本可以用 » pear 命令来下载和安装。也可以指明具体的修正版。
  • CVS 大多数 PECL 扩展库也在 CVS 中。其 web 页面见 » http://cvs.php.net/pecl/。要直接从 CVS 中下载,用以下命令,其中用户 cvsread 的密码是 phpfi

    $ cvs -d:pserver:cvsread@cvs.php.net:/repository login
    $ cvs -d:pserver:cvsread@cvs.php.net:/repository co pecl/extname
         

  • Windows 下载 Windows 用户可以通过在 » PHP 下载页面下载 Collection of PECL modules 来找到已编译的 PECL 可执行程序,或下载 » PECL Snapshot。要在 Windows 下编译 PHP,请阅读有关章节

Windows 用户的 PECL

和其它任何 PHP 扩展库的 DLL 一样,把 PECL 扩展库的 DLL 移动到 extension_dir 目录并将其包括入 php.ini 来安装。例如:

extension=php_extname.dll
   

然后重新启动 web 服务器。

用 PEAR 编译共享 PECL 扩展库

PEAR 使建立共享 PHP 扩展库更容易。用 » pear 命令这样做:

$ pear install extname
   

这将下载 extname 的源代码,编译之,并将 extname.so 安装到 extension_dir 中。然后 extname.so 就可以通过 php.ini 加载了。

默认情况下,pear 命令不会安装标记为 alphabeta 状态的包。如果没有 stable 包可用,也可以用以下命令安装一个 beta 包:

$ pear install extname-beta
   

也可以用此命令安装一个指定的版本:

$ pear install extname-0.1

用 phpize 编译共享 PECL 扩展库

有时候不能用 pear 安装命令。这可能是因为在防火墙后面,或者是因为想要安装的扩展库还没有

PEAR 兼容的包,

例如 CVS 中尚未发布的扩展库。如果要编译这种扩展库,可以用更底层的编译工具来手工进行编译。

phpize 命令是用来准备 PHP 扩展库的编译环境的。下面例子中,扩展库的源程序位于 extname

目录中:

$ cd extname
$ phpize
$ ./configure
$ make
# make install

成功的安装将创建 extname.so 并放置于 PHP 的扩展库目录中。需要调整 php.ini

加入 extension=extname.so 这一行之后才能使用此扩展库。

将 PECL 扩展库静态编译入 PHP

有时可能需要将扩展库静态编译到 PHP 中。

这需要将扩展库源程序放入 php-src/ext/ 目录中去并告诉 PHP 编译系统来生成其配置脚本。

$ cd /your/phpsrcdir/ext
$ pear download extname
$ gzip -d < extname.tgz | tar -xvf -
$ mv extname-x.x.x extname

这将产生以下目录:

    /your/phpsrcdir/ext/extname
   

此时强制 PHP 重新生成配置脚本,然后正常编译 PHP:

$ cd /your/phpsrcdir
$ rm configure
$ ./buildconf --force
$ ./configure --help
$ ./configure --with-extname --enable-someotherext --with-foobar
$ make
$ make install
   

Note: 要运行“buildconf”脚本,需要 autoconf 2.13 和 automake 1.4+

(更新版本的 autoconf 也许能工作,但不被支持)。

是否用 --enable-extname--with-extname 取决于扩展库。

通常不需要外部库文件的扩展库使用 --enable。要确认的话,在 buildconf 之后运行:

$ ./configure --help | grep extname

 

  评论这张
 
阅读(825)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017