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.so
或php_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
即去除;扩展= php_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服务器。