Apache2.2和php5怎么加入扩展的fileinfo函数

 我来答
信玄居士72a5251
推荐于2016-01-28 · TA获得超过4406个赞
知道大有可为答主
回答量:3257
采纳率:100%
帮助的人:1782万
展开全部
fileinfo()是pecl的其中的function之一
需安装pecl才能用, 要安装pecl, 必须有phpize指令
 
我们来执行
pecl install fileinfo
系统提示:
WARNING: "pear/Fileinfo" is deprecated in favor of "channel://php-src/ext/fileinfo/in php sources"
downloading Fileinfo-1.0.4.tgz ...
Starting to download Fileinfo-1.0.4.tgz (5,835 bytes)
.....done: 5,835 bytes
3 source files, building
running: phpize
sh: phpize: not found
ERROR: `phpize' failed
 
下面安装phpize
首先需要有php5-dev
直接执行phpize,系统会提示:
No command 'phpize' found, did you mean:
 Command 'phpize5' from package 'php5-dev' (main)
phpize: command not found
 
那么我们来安装php5-dev
sudo apt-get install php5-dev

安装完成后,再执行:
sudo pecl install fileinfo
 
会发现如下的错误提示:
checking for magic files in default path... not found
configure: error: Please reinstall the libmagic distribution
ERROR: `/build/buildd/php5-5.3.2/pear-build-download/Fileinfo-1.0.4/configure' failed

那么再安装一下libmagic:
sudo apt-get install libmagic-dev
安装完成后,再执行:
sudo pecl install fileinfo
 
ok,看到了这样的提示:
Installing '/usr/lib/php5/20090626/fileinfo.so'
install ok: channel://pear.php.net/Fileinfo-1.0.4
说明Fileinfo 安装完成,
我们会发现
php模块的目录下多了个fileinfo.so文件,同时,
在/usr/share/file目录下有magic.mime和magic两个文件。
然后需要修改php.ini文件,加入
 extension=fileinfo.so
 

重启nginx和fastcgi
 
 
 
在自己的web页面上加入下面这段测试代码:
<?php

// return mime type ala mimetype extension
$finfo = finfo_open(FILEINFO_MIME_TYPE);

if (!$finfo) {
    echo "Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename = "/ciray/images/copyright.gif";  //这里写你的WEB目录中要测试的文件路径 
echo $filename . ' --> ' . finfo_file($finfo, $filename) . '<br>';

?>
 
运行一下,如果显示
/ciray/images/copyright.gif --> image/gif
说明大功告成!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式