我在使用PHP 5.3.5在Windows Server 2003上运行的PHP脚本中调用finfo_open时遇到问题& IIS 6.调用始终返回致命错误:调用undefined函数finfo_open()在...在Windows中使用php_fileinfo.dll和finfo_open PHP 5.3.5
通过一点点阅读我知道文件信息的功能是不包括在默认情况下的Windows PHP安装,虽然没有我尝试得到它的工作。这里的注释#3中的说明:http://www.php.net/manual/en/fileinfo.installation.php没有帮助,这是我能找到的最正式的解释。有很多关于在网络上需要mime_magic dll的信息,但似乎从5.3开始不再需要它。此外,我已阅读http://pecl.php.net/package/Fileinfo,“从PHP 5.3.0开始,此扩展默认启用”。这是怎么回事?
此问题出现在测试服务器上。在我的本地机器上,我有xampp和PHP 5.3.1,并且调用工作正常,所以我也尝试将php_fileinfo.dll从本地复制到php \ ext进行测试,但这也没有任何区别(我知道版本是不同,但我读到5.3是重要的位)。
任何意见,将不胜感激!
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $filepath);
感谢您的输入,但这正是我一直在尝试的。您提供的'fileinfo使用和安装说明'链接与我在第一篇文章中标识的链接相同。我在php.ini中启用了扩展,并首先重新启动IIS,然后整个服务器,没有任何改变。 现在我只是通过检查上传文件的MIME类型并将其存储在我的数据库中,然后使用它在下载时创建文件流来解决此问题。 – tomfumb 2011-04-10 16:37:06
@ user519575 - 你的PHP版本是什么?我需要昨天在一个窗口框中设置fileinfo模块,并且它以这种方式工作(虽然它以前缺失)。我使用PHP 5.3.6。你使用哪个服务器接口?你在编辑正确的PHP.ini吗?你能列出加载的模块在php脚本中,并且是该列表的fileinfo部分吗? – hakre 2011-04-11 14:00:36
你最终是否得到了修正。 finfo是在phpinfo()和除了函数之外的所有东西仍然返回未定义? IIS7 – zanderwar 2015-10-28 04:18:55