PEAR和PECL

PEAR (PHP Extension and Application  Repository)PHP扩展与应用程序库。

PEAR是“一个可重用PHP组件的框架和发布系统”。PEAR可以下载、安装、升级及删除PHP脚本。 使用PEAR包的时候,不必为了脚本的位置或者怎么找到它们而担心,扩展命令行接口(CLI)也很容易使用。
PEAR是一个由社区推动的PHP项目,官方发布的PHP中就包含了PEAR。

PECL (PHP 扩展库)的全称是 The PHP Extension Community Library ,是一个开放的并通过PEAR打包格式来打包安装的PHP 扩展库仓库。通过PEAR 的Package Manager可以对 PECL 模块进行下载和安装。

PEAR和PECL的区别:

Pear:是PHP的扩展代码包,所有的扩展均以PHP代码的形式出现,功能强大,安装简单,甚至可以改改就用。使用的时候,要在代码中进行Include才能够使用。

Pecl:是PHP的标准扩展,可以补充实际开发中所需的功能,所有的扩展都需要安装,在Windows下面以Dll的形式出现,在linux下面,需要单独进行编译,它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。

最直接的表述:Pear是PHP的上层扩展,Pecl是PHP的底层扩展。

在linux上,pear下载的包是直接放在目录 /usr/local/lib/php 下的; 而 pecl下载的包需要编译然后放到目录 /usr/local/lib/php/extensions/no-debug-non-zts-yyyymmdd/ 目录下。 pear下载的包需要 include后使用, pecl安装的包需要修改php.ini,添加extension=xxx.so才能使用。

上面提到pecl是使用pear的打包格式来打包的,其实pecl和pear是两个shell脚本,执行的基本是同一个PHP文件,pecl走的是pear的发布模式。

pear的频道信息保存在目录 /usr/local/lib/php/.channels/中;下载后的模块或包的信息保存在/usr/local/lib/php/.registry/目录中, 数据信息都是已PHP数组的序列化的方式来存储的,这样保存和查询都很方便

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据