linux下php一般都为通过编译或rpm包方式安装。新增扩展采用编译生成方式,少部分非官网扩展会提供对应so文件。
提供so文件的和windows下类似,放到扩展目录(phpinfo中extension_dir可以查到)后新增一个配置文件启用即可。
本文对编译官方扩展做一个简单介绍。
1.下载对应文件
2.执行对应php版本phpize
3.编译生成扩展文件
4.修改配置文件启用对应扩展
以fileinfo为例。
首先进入你对应版本的php源码包(官方下载后解压)
在ext目录可以看到扩展的源码,进入对应的目录。
cd切换到该目录后,执行你对应php版本下的phpize,生成configure文件。
我这里为 /vhs/kangle/ext/tpl_php5538/bin/phpize 实际环境根据你的php版本安装文件选择。
编译生成扩展文件:
./configure –with-php-config=/vhs/kangle/ext/tpl_php5538/bin/php-config
(php-config路径切换为你实际的对应路径即可)
make && make install
如上图,无错后会在对应扩展目录生成so文件。
启用扩展
扩展启用和windows下类似,使用extension=扩展文件名 加入到php配置文件即可。
一般为了维护和管理方便,很少直接修改php.ini文件,采用单独增加一个文件到etc下php.d目录。
从phpinfo可以看到php在启动时候会扫描/vhs/kangle/ext/tpl_php5538/etc/php.d目录下.ini文件并加载设置。所以这里我直接将fileinfo的扩展配置文件写入到该目录
重启对应php进程。