pecl、pear、composer

引言

pecl、pear、composer真是傻傻让人分不清啊

PCEL、PEAR和COMPOSER

百科是这样形容PCEL

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

百科是这样形容PEAR(和composer作用类似,但是目前好像composer占据主流)

全称为PHP扩展与应用库(PHP Extension and Application Repository)。为了创建一个类似于Perl CPAN档案的工具,Stig S. Bakken在1999年创立了PEAR项目。

百科是这样形容的composer

Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。

如何安装pear

centos:

yum install php-pear

ubuntu:

apt install php-pear

假如你的PHP是编译进行安装的,用系统自带的安装方式会出现新的问题,此时PHP不是你想要的版本(系统库通常会低于发行的新版本很多),而且会自动安装依赖,就是会新装一次PHP并且全局变量覆盖。

因此还提供了一个新的安装方式:

curl -o go-pear.php http://pear.php.net/go-pear
php go-pear.php

我(PHP7.2)执行下发现报错,说我的PHP版本太新,初始我没仔细看,太新我就用旧的,手动改phpversion为7.1,结果还是报错,这是没有仔细看报错的锅。

Sorry!  Your PHP version is too new (7.2.3) for this go-pear.
Instead use http://pear.php.net/go-pear.phar for a more stable and current
version of go-pear, more suited to your PHP version.

Thank you for your coopertion and sorry for the inconvenience!

仔细一看,原来是新版需要用新的脚本文件

curl -o go-pear.php http://pear.php.net/go-pear
php go-pear.php

这个时候pear就安装好了,我们需要给它创建一个软链接。

ln -s /php_root/bin/pear /usr/bin/pear

如何安装composer

composer 安装就相对简单了很多:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

## PECL安装扩展
pcel install redis

.................

Build process completed successfully
Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/redis.so'
install ok: channel://pecl.php.net/redis-3.1.6
configuration option "php_ini" is not set to php.ini location
You should add "extension=redis.so" to php.ini

可以看到,不需要其他操作,可以很快的装好一个扩展。大多数PHP扩展已经加入到pear,当然也有不存在的,这个时候还是得手动进行编译安装(可以查看我另一篇blogPHP手动安装扩展)。

composer vs pear

composer和pear的功能非常像。都是用来对已有代码包的管理的。 在composer还没诞生之前,PHP的代码很难被管理。虽然pear社区的支持,许多可重用代码可以通过pear来获得,但是pear在处理代码关联性上非常差,当然还有许多问题,比如入库标准太高等。 composer以json文件的形式解决了包的依赖问题,而且加入了很多的规范,大大解决了pear未解决的问题,很大趋势上是完全替代了pear。

总结

所以总结下来: - pcel是安装php的C扩展程序的 - pear是老一代包管理工具 - composer是新一代包管理工具 pear和composer都是对PHP代码进行管理,个人推荐composer。

转载于:https://my.oschina.net/lwl1989/blog/1633478

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值