linux下php一般都为通过编译或rpm包方式安装。新增扩展采用编译生成方式,少部分非官网扩展会提供对应so文件。

提供so文件的和windows下类似,放到扩展目录(phpinfo中extension_dir可以查到)后新增一个配置文件启用即可。

本文对编译官方扩展做一个简单介绍。

1.下载对应文件

2.执行对应php版本phpize

3.编译生成扩展文件

4.修改配置文件启用对应扩展

以fileinfo为例。

首先进入你对应版本的php源码包(官方下载后解压)

在ext目录可以看到扩展的源码,进入对应的目录。

如图下图,fileinfo扩展源码目录

QQ截图20180820151430.png

cd切换到该目录后,执行你对应php版本下的phpize,生成configure文件。

我这里为 /vhs/kangle/ext/tpl_php5538/bin/phpize 实际环境根据你的php版本安装文件选择。

QQ截图20180820151702.png

编译生成扩展文件:

./configure –with-php-config=/vhs/kangle/ext/tpl_php5538/bin/php-config

(php-config路径切换为你实际的对应路径即可)

make &&  make install

QQ截图20180820151920.png

QQ截图20180820152001.png

QQ截图20180820152052.png

QQ截图20180820152106.png

如上图,无错后会在对应扩展目录生成so文件。

启用扩展

扩展启用和windows下类似,使用extension=扩展文件名 加入到php配置文件即可。

一般为了维护和管理方便,很少直接修改php.ini文件,采用单独增加一个文件到etc下php.d目录。

QQ截图20180820153143.png

从phpinfo可以看到php在启动时候会扫描/vhs/kangle/ext/tpl_php5538/etc/php.d目录下.ini文件并加载设置。所以这里我直接将fileinfo的扩展配置文件写入到该目录

QQ截图20180820153649.png

重启对应php进程。

QQ截图20180820153747.png

QQ截图20180820153759.png