如何在linux里安装php的扩展

本文章只面对同一个服务器只有一个PHP版本的环境。

编写约定

1.本文的“PHP”指的是PHP解释器,而不是PHP代码。

为什么不介绍windows系统下扩展的安装

因为官方自带的PHP包包括了一堆常用的扩展dll,不需要特别介绍。

事前

首先,你得确定你的PHP是通过什么安装的。如果是通过包管理软件安装的,则也用相同的包管理软件安装扩展,这种情况不建议通过编译源码的方式来安装扩展(因为这不适合升级你的PHP)。如果是通过编译源码安装的PHP,则只能用编译的安装方法来安装扩展。

Do

包管理软件安装

包管理软件大同小异,包的命名都有一定的规律,区别只是安装命令的差别(yum是yum install,apt是apt-get install)。注意:在安装扩展的时候要注意包的名称不要搞错依赖,导致多安装了一个PHP。

扩展包的名称一般是:<你之前安装的PHP的包名>-<扩展名>,比如:php5-tidy、php-gd。。。

源码编译安装

需要准备的东西

这种安装方法需要准备以下东西:

  1. 要安装的扩展的源代码
  2. 编译器(一般是gcc)
  3. 你也要搞清楚phpize命令的位置,如果你把php的bin目录都放入了环境变量里,那么你应该可以直接使用phpize命令的
  4. 其它在PHP手册的安装章节里提到的注意事项,比如扩展依赖的库(这种情况你得先安装依赖库)

开始编译

首先先把源代码压缩包里的东西解压出来,然后cd进解压出来的目录里。然后直接执行phpize命令,这个命令会根据当前安装到你系统的PHP的API来生成一个configure脚本。之后在当前目录运行./configure。如果你看到类似成功的字眼,就直接执行make命令来编译源码。编译完成后你可以选择直接执行make install也可以在执行安装命令前执行测试命令make test。执行完make install后,编译出来的so文件就会自动放到它应该放的地方。

加载扩展

到这里你应该安装完扩展了,现在只需要加载扩展的so文件就可以在PHP里使用这个扩展。编辑php.ini,

extension=<扩展名>.so

 

注意事项

最主要的还是用心去做这件事,遇到不会的英文就去翻译。