composer php 扩展,PHP扩展和包的管理:PEAR、PECL、Composer

扩展(Extension)一般偏底层,包(Application,Package)一般偏应用。不建议做过分的区分,在使用中能够理解和区分即可。

对于他们的管理目前有PEAR、PECL、Composer。

PEAR

PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。http://pear.php.net/

Bakken在1999年创立了PEAR项目,目标是试图定义一种标准,帮助开发者编写可移植、可重用的代码,避免重复发明“车轮”。代码均是PHP编写的。

涵盖了页面呈现、数据库访问、文件操作、数据结构、缓存操作、网络协议、WebService 等许多方面,用户可以通过下载这些类库,并适当的作一些定制以实现自己需要的功能。

但是随着Git、github等发展,其逐渐被Composer包管理替代。

PECL

“PHP Extension Community Library”的缩写,即PHP 扩展库。https://pecl.php.net/

PECL是使用C语言开发的,通常用于补充一些用PHP难以完成的底层功能,往往需要重新编译或者在配置文件中设置后才能在用户自己的代码中使用。

2种使用方式:

命令模式,和pear的命令一致,通过man pecl显示此命令的用法

编译模式,即phpize

Composer

PHP包管理工具,在“帮助开发者编写可移植、可重用的代码,避免重复发明“车轮””上和PEAR有相同的目标和思想,但是composer的包一般放在github、bitbucket等上,通过packagist 可以浏览上传等

以Yaml安装使用为例

pecl安装

pecl install yaml

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

编译安装

http://php.net/manual/zh/install.pecl.phpize.php

有时候不能用 pecl 安装命令。这可能是因为在防火墙后面,或者是因为想要安装的扩展库还没有 PECL 兼容的包,例如 SVN 中尚未发布的扩展库。

如果要编译这种扩展库,可以用更底层的编译工具来手工进行编译。phpize 命令是用来准备 PHP 扩展库的编译环境的。

$ wget https://pecl.php.net/get/yaml-1.3.0.tgz

$ tar -xzvf yaml-1.3.0.tgz

$ cd yaml-1.3.0

$ phpize

$ ./configure

$ make

$ make install

成功的安装将创建 yaml.so 并放置于 PHP 的扩展库目录 extension_dir 中。需要调整 php.ini 加入 extension=yaml.so 这一行之后才能使用此扩展库。

使用 phpize --help 命令可以显示此命令用法。

composer

composer require mustangostang/spyc

目前主流的方式,对于偏底层的扩展通过编译方式安装,对于偏应用的通过composer方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值