PECL 在 Gentoo 下没法正常工作,总是在 make 一步提示 libtool 的版本有问题。不过在 Gentoo 的论坛上转了一圈,还是有所收获,以下是找到的解决办法:

下载并解压 PHP 扩展源码包以后,进入解压后的目录,依次执行下面命令:

$ phpize

$ aclocal

$ libtoolize --force

$ autoheader

$ autoconf

$ ./configure

$ make

$ make install

注意 libtoolize --force 那句,它将强制使用当前安装版本的 libtool 来执行 make 程序

这样 make 出 so 文件以后,还需要手工加上配置文件进行 so 加载,以 redis 为例子,在 /etc/php/fpm-php5.3/ext 中新建 redis.ini 文件并加入如下内容:

extension=redis.so

然后执行如下命令:

$ ln -s /etc/php/fpm-php5.3/ext/redis.ini /etc/php/fpm-php5.3/ext-active/

即可正常开启 redis.so 扩展。

这里有一个技巧很有意思,PHP 会默认在 ext-active 目录里面查找要加载的 ini 文件,所以如果有什么扩展想临时关闭,只用删除 ext-active 里对应的软连接就可以了,并不会影响其配置文件的内容。

一般的发行版,如果顺利的话,只要依次执行:

$ phpize

$ ./configure

$ make && make install

就行了,pecl 的任务也就是如此而已。

如果再研究细一点,你会发现其实 phpize 这个工具已经做了很多事情,一般来说一些软件的 ./configure 以及 MakeFile 文件,都是需要自己去关心的。但是有了 phpize 工具,它会根据当前环境自动生成 ./configure 文件,而 ./configure 文件又会自动生成相应的 MakeFile,make 接到 MakeFile 这个圣旨,才知道要具体如何生成 so 文件。

最后编译完成以后,再利用 make install 完成 so 文件的安装,路径也是在 MakeFile 文件里面体现,很有意思吧!

写作累,服务器还越来越贵

求分担,祝愿好人一生平安

天使打赏人

gentoo php,Gentoo 下安装 PHP 扩展相关推荐

  1. php7 libevent扩展,php7下安装event扩展方法

    有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,是PHP基础设施的libevent端口. 下载地址:http://pecl.php.net/package/event ...

  2. mamp php ext,MAMP环境下安装php扩展

    MAMP环境下安装php扩展 安装PHP扩展,第一时间就会想到用phpize,网上随便一搜就可以找到很好教学.可是,道理我都懂,为什么就是耗了我几个小时呢? 1.去php.com 下载相应版本源码,放 ...

  3. wamp环境下安装imagick扩展

    先上图,如下是安装成功后的phpinfo()界面: 安装步骤: 1.先确定安装版本,比如我的的php : php7.0.12  x86 ts 那么就需要三方版本 要一致:imagick软件本身( 如x ...

  4. liunx php redis扩展,CentOS 7下安装php-redis扩展及简单使用

    前言: 在本篇文章中,我将给大家介绍如何在CentOS7上安装PHP-Redis扩展以及一些简单的实用,关于如何在Centos上安装redis的,可以参考 想要在php中操作redis,那就必须安装p ...

  5. linux 下安装 php 扩展 典型安装 mysql curl mb_string

    curl扩展: 下载 cURL http://pan.baidu.com/s/1hqrHWkG (curl-7.39.0.tar.gz) 3.98MB tar zxvf curl-7.39.0.tar ...

  6. Mac下安装pthread扩展

    简介 pthreads 是一组允许用户在 PHP 中使用多线程技术的面向对象的 API. 它提供了创建多线程应用所需的全套工具,无论是 Web 应用还是控制台应用. 通过使用 Thread, Work ...

  7. MAMP环境下安装php扩展

    安装PHP扩展,第一时间就会想到用phpize,网上随便一搜就可以找到很好教学.可是,道理我都懂,为什么就是耗了我几个小时呢? 1.去php.net 下载相应版本源码,放入 /Application/ ...

  8. docker下安装php扩展swoole

    docker下安装php拓展swoole docker下安装php拓展,docker下可用的命令少,安装起来可没那么方便了,我这里用的ubuntu系统,安装了集成环境dnmp 若是一开始知道要用到sw ...

  9. laradock 安装php扩展,Redis安装PHP安装Redis扩展Laradock下安装Redis扩展Laravel

    听说99%的同学都来这里充电吖 NoSQL及Redis介绍 Redis安装C语言开发,官网下载源码编译,编译依赖gcc环境,需要先安装gcc 1.yum install gcc-c++ 2.redis ...

最新文章

  1. 白话tensorflow分布式部署和开发
  2. A* a=new B ,会不会产生内存泄露了,露了B-A的部分?
  3. python 字符串操作速度_强者一出,谁与争锋?与Python相比,C+的运行速度究竟有多快?|python|编程语言|字符串|示例|算法...
  4. jQuery延迟对象deferred的使用
  5. 安卓绿色联盟安全标准1.0到2.0,让用户隐私更安全
  6. java程序员简历范文
  7. HDI与普通PCB的4点主要区别
  8. JavaWeb课程设计学生宿舍管理系统
  9. 诡异的1000 0000 0000 0000和-32768
  10. ansys 如何截取高清的网格图
  11. 印尼推出新的光伏发展激励措施
  12. c++/c语言(高质量程序设计指南林锐建议总结)
  13. 综合布线系统在计算机信息系统中属于,计算机信息系统综合布线问题
  14. Matlab数值分析编程:牛顿下山法解方程
  15. 【机器学习】P20 模型的诊断 - 验证集
  16. 四、字符编码:ascii、gbk、Unicode、utf-8
  17. Markdown-img使用指南
  18. 什么是ERC20,ERC721?两者的区别是什么?
  19. URL 是什么?(2007-09-20 23:52:53| 分类: 网络技术)
  20. EXCEL插件《Office人工智能》发票、营业执照批量识别

热门文章

  1. Mac连接Xbox控制器(手柄)
  2. 日本全新超级计算机ABCI向“全球最快”目标冲击
  3. 新发布!易聊 SCRM 正式上线
  4. 统计公司员工喜欢吃的水果,并打印出最喜欢吃的前K中水果【map关联式容器,k/V结构】
  5. 力扣(98.107)补9.10
  6. android 蓝牙传输到苹果手机,使用蓝牙文件交换将文件从Android传输到Mac | MOS86
  7. 【190411】VC++ 双摄像头视频监控捕捉程序源代码
  8. 基于SSH的婴幼儿产品销售系统的开发与设计毕业设计论文
  9. OpenCV计算机图像处理 —— 凸性缺陷 + 点多边形测试 + 形状匹配 + 轮廓分层与cv.findContours()
  10. LLVM IR转CFG