安装

从 PHP 5.3.0 开始,本扩展是默认开启的。 在之前的版本中,fileinfo 是一个 PECL 扩展,但是已经不再持续维护。 5.3+ 之前的版本, 可以使用 » 停止使用的 PECL 扩展

Windows 用户需要在 php.ini 中开启绑定的 php_fileinfo.dll DLL 来启用本扩展。

PHP 中绑定了 libmagic 库,某些 PHP 版本变更中也可能包含此库。 在 PHP fileinfo 扩展的源代码中,有 libmagic.patch 文件, 这是 libmagic 库的补丁包文件。

绑定的 libmagic 库的更新历史
PHP 版本 更新的 libmagic 版本 说明
5.3.2 5.03  
5.3.0 5.02  

User Contributed Notes

abowers 18-Mar-2013 06:01
Windows users: just edit php.ini and uncomment this line:

extension=php_fileinfo.dll

Remember to restart Apache for new php.ini to take effect.
fuxa_kos at unihost dot cz 04-Sep-2012 11:29
when you are compiling php from source yourself, with --disable-all
you need --enable-fileinfo
mdahlke at pixelcarve dot com 26-Jul-2010 09:24
I found that while using the magic files from GnuWin 4.23 worked great for the PECL extension with PHP 5.2 on Win32, when I started migrating to PHP 5.3 all of a sudden Fileinfo no longer worked.  Updating the magic files to the latest version (4.26 at the time of this writing) worked like a charm. 

I guess the bundled version of Fileinfo uses the new mime magic format while the old PECL version uses the old format.
darko at uvcms dot com 28-Jun-2008 08:04
I need to add an addendum to the previous instalation steps.

Recently gnuwin32 project made a new release of file package (4.24). Binary release does not contain all needed magic files for fileinfo extension.
Instead of downloading latest version of file package (4.24) just get previous one (4.23) which does contain all of the needed files.
darko at uvcms dot com 16-Apr-2008 02:35
It is really strange to find that installing filenfo extension on windows is not yet fully explained. Here are the latest most up-to-date steps to make this work:

1. Add php_fileinfo.dll to the list of enabled extensions
extension=php_fileinfo.dll

2. Download GNU file package for windows
get it from here: http://gnuwin32.sourceforge.net/downlinks/file-bin-zip.php

Extract the folder from the archive called shared\file which contains 4 magic files (magic, magic.mgc, magic.mime, magic.mime.mgc).

3. Place these 4 files in a known place

4. Add system enviroment variable MAGIC that points to the file called magic. For example if you placed magic files in folder called magic in c:\php that means that the propper path is c:\php\magic\magic

5. If you use IIS restart it and fileinfo is ready for use

5a. If you use apache you will have to restart operating system for the service to acknowledge MAGIC env. variable.
PHP8中文手册 站长在线 整理 版权归PHP文档组所有