PHP文件信息是未定义的函数

每当我尝试从PHP获取MIME内容types,它回声:

致命错误:未在/ home / jobynadel / finadel.com/video/finfo.php在第4行find类“finfo”

要么

致命错误:调用第4行/ home / jobynadel / finadel.com/video/finfo.php中的未定义函数finfo_open

我只是无法弄清楚!

我使用的代码是:

$file_info = new finfo(FILEINFO_MIME_TYPE); // See constant value http://php.net/manual/en/fileinfo.constants.php#113687 $mime_type = $file_info->buffer(file_get_contents($file)); 

看看你的php.ini文件,并检查fileinfo.sophp_fileinfo.dll被激活(取决于你的平台和版本)。

应该有一个类似的行

 extension=fileinfo.so 

在你的php.ini文件中

如果您使用XAMPP, extension=php_fileinfo.dll在php.ini中启用extension=php_fileinfo.dll

你有什么版本的PHP? PHP 5.3.0及更高版本内置Fileinfo,但在Windows上,您必须在您的php.ini手动启用它。 您可以在文档中find更多信息。

如果您使用的是WAMP,那么转到PHP扩展并且打开PHP_fileinfo并重新启动所有服务器。

Windows用户:只需编辑php.ini并取消注释:

延长= php_fileinfo.dll

即去除;扩展= p​​hp_fileinfo.dll前面的分号

记得重新启动Apache以使新的php.ini生效。

对于那些有它工作正常,但是这个错误出现:

一些托pipe提供商(例如Dreamhost)允许客户在configuration文件中覆盖默认的PHP设置,通常具有如下的path:

~/.php/5.4/phprc

如果升级PHP(或者以您的名义升级),path中的版本号可能会成为问题。 以前版本的任何自定义设置,包括一个启用fileinfo扩展名的设置,在较新的版本中都将丢失。 通常,您可以将configuration文件复制到适当的新configuration目录并重新启动服务器。

我有这个问题与PHP.I做了以下步骤:

  - make sure that the fileinfo extension is already installed if you are using < PHP 5.3.0. - Then you have to add in php.ini ;extension=fileinfo.so or ;extension=php_fileinfo.dll - If you want to uncomment remove the semicolon(;) extension=fileinfo.so or extension=php_fileinfo.dll 

然后保存并重新启动您的Web服务器。