Linux 下 PHP 扩展安装

2019/01/31 PHP

官方扩展

在 Linux 下通过源码安装 PHP,一般都不会把所有的官方扩展都装上。面我之前看官网手册介绍,这些官方扩展都必须要 在编译期间的./configure配置阶段加上--with-*等参数进行安装的。以至于我一度认为万一用到这些未安装的官方扩展时 都要重装一下 PHP。

刚才重装 Linux 时顺带配了下 PHP 环境,才发现原来这些官方扩展也可以跟第三方扩展一样单独编译的。看来还是基础不够牢, 对一些概念理解不到位才会造成这个误解。

在 PHP 的源码目录中有一个ext目录,该目录放的就是官方扩展。既然有源码,一切都好办了,按照一般的扩展安装步骤处理即可:

  1. 进入扩展目录:cd ext
  2. 运行phpize,生成configure文件,如果系统安装了多个版本的 PHP,注意调用对应版本的phpize
  3. 运行./configure --with-php-config=/path/to/php-config
  4. make编译;
  5. make test进行测试,注意,这一步如果出现错误可以先忽略,只要可以正确安装扩展即可;
  6. 源码安装可能会找不到 PHP 的配置文件,这时候运行php -i | grep php.ini查看了下配置文件所在的目录,然后把 PHP 源码目录中的php.ini-*复制到配置文件目录:cp php.ini-* /path/to/php.iniphp.ini-*特指某一配置文件;
  7. php.ini添加正确的扩展目录以及extension=*.so*.so特指某一个扩展;
  8. 重启服务器;

第三方扩展

pecl 安装

PECL 是 PHP 官方提供的扩展仓库,里面的扩展相对比较有保障,当然只是相对。使用 pecl 工具可以方便地了解安装这些扩展。

以下命令用来安装 pecl 工具。

$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
$ pecl
...

一般情况下使用pecl searchpecl install即可,第一个命令用于搜索扩展,第二个命令用于安装扩展。有时候由于版本限制,需要安装指定扩展,可以先在http://pecl.php.net搜索扩展主页,查看版本列表,指定版本安装,如pecl install channel://pecl.php.net/redis-5.3.1

源码安装

源码安装的步骤跟官方扩展的差不多,主要的不同就是需要自己下载扩展库的源码包。

Search

    Table of Contents