首页 > 代码库 > php 获取 mime type 类型,fileinfo扩展

php 获取 mime type 类型,fileinfo扩展

背景:

version < php-5.3 没有API能够查看文件的 mime_type, 故需要编译扩展 fileinfo 来扩展PHP的API(finfo_*系列函数)。php-5.3 以后将fileinfo 拉入的官方发行包中,将不存在此问题。

软件准备:

php: php-5.2.14
Fileinfo: Fileinfo-1.0.4.tgz
file: file-5.20.tar.gz

 

1、file 安装

wget ftp://ftp.astron.com/pub/file/file-5.15.tar.gztar zxf file-5.20.tar.gzcd file-5.20/ ./configure --prefix=/usr/local/services/file-5.20 make  make install 

 

2、Fileinfo扩展编译安装

wget http://pecl.php.net/get/Fileinfo-1.0.4.tgztar zxf Fileinfo-1.0.4.tgzcd Fileinfo-1.0.4/ /usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-fileinfo=/usr/local/services/file-5.20/make#拷贝fileinfo.so 到php.ini 中定义的 extension_dircp fileinfo.so /usr/local/php/extensions/#修改php.iniecho "extension=fileinfo.so" >> /usr/local/php/lib/php.ini

 

3、验证

php -m | grep fileinfofileinfo

 

备注:
1、安装软件注意查看 ./configure --help 其中会指出库或头文件的依赖
2、扩展移植,查看依赖, 移植需要注意对:libmagic.so.1 的依赖

ldd /usr/local/php/extensions/fileinfo.so
linux-vdso.so.1 => (0x00007fff9b7ff000)
libmagic.so.1 => /usr/local/lib/libmagic.so.1 (0x00007f8493582000)
libc.so.6 => /lib64/libc.so.6 (0x00007f8493342000)
libz.so.1 => /lib64/libz.so.1 (0x00007f849322d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f84937a4000)

php 获取 mime type 类型,fileinfo扩展