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.gz tar zxf file-5.20.tar.gz cd 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.tgz tar zxf Fileinfo-1.0.4.tgz cd 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_dir cp fileinfo.so /usr/local/php/extensions/ #修改php.ini echo "extension=fileinfo.so" >> /usr/local/php/lib/php.ini
3、验证
php -m | grep fileinfo fileinfo
备注:
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)
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。