以fileinfo 扩展安装为例:
1、下载当前php版本源码
可通过 php.net/download 官网下载
2、解压下载的源码,并进入扩展目录。
cd ${php 源码的位置}/ext/fileinfo
3、执行 phpize
${php 安装目录}/bin/phpize
phpize 是什么?
php官方的说明:http://php.net/manual/en/install.pecl.phpize.php
phpize 是用来扩展 php 扩展模块的工具,通过 phpize 可以建立 php 的外挂模块,比如你想在原来编译好的 php 中加入 memcached 或者 ImageMagick 等扩展模块,均可以使用 phpize。
返回信息如下:
Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012
4、编译 fileinfo
./configure --with-php-config=${php 安装目录}/bin/php-config
make && make install
编译成功大概输出如下:
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/
其中,Installing shared extensions 的内容就是您的扩展存放位置。
也可通过如下命令得到:
${php 的安装位置}/bin/php-config --extension-dir
5、填写扩展配置:
复制粘贴,修改 extension 目录为您自己的 php 扩展存放目录即可。
修改 ${php 的安装位置}/etc/php.ini文件
查找:extension = 再最后一个extension= 后面添加上extension = “fileinfo.so”
但要注意extension-dir的目录配置,若与上面不一致可以用绝对路径
extension = {php 扩展存放目录}/fileinfo.so
6、 重启 php-fpm 进程
service php-fpm restart
phpinfo 中将会显示安装的 fileinfo 信息:
也可用 php -m 命令查看已安装扩展
注意:
如果要安装的扩展在php源码ext目录中没有,那么这个扩展需要到 http://pecl.php.net 搜索下载
下载扩展包,解压,进入扩展包目录,再从上述phpize那一步开始执行。在执行 ./configure 时不同的扩展包可能有不同的配置,要注意,查一下