linux下yum,pecl安装PHP扩展

linux下安装php扩展的主要有以下三种方式 1 yum 安装 2 pecl安装 3 phpize安装。其中yum安装最简单,但是依赖yum源,如果搜索不到相应的扩展包就不行了,pecl安装源主要来自https://pecl.php.net/的共享库.如果两者以上都搜索不到那只能源码安装了

1 yum安装的方式本文只要从yum命令,yum源解释

(1)yum命令:

yum install <package1>  //安装指定的安装包package1
yum search <package1> //查找package1相关的安装包
yum list  |grep  <package1>  //列出所有和package1相关的可安裝的软件清单命令
yum list  installed |grep <package1>  //查找已经安装过的package1开头的包
yum remove <package1> //移除包 package1
yum update <package_name>  //yum update 仅更新指定的软件命令:

(2) yum 源。首先yum是基于rpm包的管理,可以解决包的依赖的关系.搜索和安装的包主要在这些源的列表中查找.那么这些源就很重要了,如果你的yum 搜索结果和其他同学的不一致,肯定是源不一致了.在这里插入图片描述
/etc/yun.repos.d/这个文件夹下是yum源。其中以Centos开头的是yum的官方源,后两种epel,webtatic是第三方的源.第三方源需要自己安装. 如论哪个源都可以用yum命令安装

yum源更新称阿里云,首先知道自己的操作系统
在这里插入图片描述
操作系统和下载的源最合适的.当然你可以进http://mirrors.aliyun.com/repo/ 网址看有没有相应的源

epel源则需要安装 yum install epel-release
webtatic是提供关于web开发的相应的包 rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

以上都安装好了,我们来个例子安装下redis扩展
在这里插入图片描述
搜索的内容其实是webtatic源提供的.然后安装即可

yum install  php72w-pecl-redis.x86_64 

安装完成后 php -m 查看是否有相应的扩展

2 pecl安装,是php官方推荐的一种安装的方式。 是通过 PEAR 打包系统来的 PHP 扩展库仓库.这里需要区分下pear和pecl的区别和联系
Pear:是PHP的扩展代码包,所有的扩展均以PHP代码的形式出现,功能强大,安装简单,甚至可以改改就用。使用的时候,要在代码中进行Include才能够使用。
Pecl:是PHP的标准扩展,可以补充实际开发中所需的功能,所有的扩展都需要安装,在Windows下面以Dll的形式出现,在linux下面,需要单独进行编译,它的表现形式为根据PHP官方的标准用C语言写成,尽管源码开放但是一般人无法随意更改源码。
最直接的表述:Pear是PHP的上层扩展,Pecl是PHP的底层扩展。
扩展PHP有两种方法。一种是用纯粹的PHP代码写函数和类,pear就是这样一个项目,主页是pear.php.net.另外一种是用c或者c++编写外部模块加载至php中,pecl就是干这个事的,主页是pecl.php.net.

Composer 虽然比 Pear 晚出现10多年,但就像 Pear 官方文档里面 “If you read tweets and forums you’ll get that impression that nobody uses PEAR anymore, and everyone is using composer now.” 说的,现在所有人都是在使用 Composer。因为 Pear installer 能的 Composer 都能做,并且能做的更好,但 Composer 能做的,Pear installer 却不一定能做

要使用pecl安装扩展需要经过下载扩展库、编译、安装、然后加载。
首先安装pecl命令
在这里插入图片描述
先查找本地有没有go-pear.phar 文件,我的yum安装的时候是已经带了这个文件.然后执行php go-pear.phar如果有报错XML extension not found 说明需要XML扩展 yum 安装下就行 yum install php-xml,后重新执行php go-pear.phar
安装完成后就可以执行pecl命令了.
下面我们用pecl 安装swoole 扩展次扩展用yum是搜索不到的,这个时候只能用pecl命令安装了,但是注意pecl命名安装过程中是需要编译安装的,过程中需要用到php.ini bin extension 扩展 目录,以及phpize,因为这个是编译安装
在这里插入图片描述
以上路径如果出现问题就 pecl set-config 设置成你的系统当前的路径
既然是编译安装就需要用到phpize,以及编译过程的gcc等一些类的依赖包
在这里插入图片描述
安装后swoole.so直接放到你的php扩展目录,但是需要你自己加载到配置文件.我的配置文件默认加载了php.d这个地方是添加扩展的地方 .新建一个swoole.ini文件,打开文件 添加上 extension = swoole.so即可
在这里插入图片描述
然而令人遗憾的是pecl 并不会解决包的依赖的问题,而且其实是通过phpize运行的.

(3) phpize安装扩展,有兴趣的小伙伴自行研究

cd extname
phpize
./configure
make
make install

参考文章 添加链接描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值