PHPからmimeコンテンツタイプを取得しようとすると、常にエコーします。
致命的なエラー:クラス 'finfo'が見つかりません/ home/jobynadel/finadel.com/video/finfo.php行4
または
致命的エラー:/ home/jobynadel/finadel.com/video/finfo.phpの未定義関数finfo_openの呼び出し4
わかりません!
私が使用しているコードは次のとおりです。
$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
or php_fileinfo.dll
がアクティブになります(プラットフォームとバージョンによって異なります)。
次のような行があるはずです
extension=fileinfo.so
php.iniファイル内
XAMPPを使用している場合、extension=php_fileinfo.dll
php.iniで
PHPのバージョンは何ですか?PHP 5.3.0以降ではFileinfoが組み込まれていますが、Windowsではphp.ini
。さらに詳しい情報を見つけることができます ドキュメント内 。
WAMPを使用している場合は、PHP拡張機能に移動し、PHP_fileinfoを有効にして、すべてのサービスを再起動します。
Windowsユーザー:php.iniを編集して、この行のコメントを外します。
extension=php_fileinfo.dll
つまりから先行するセミコロンを削除します
;extension=php_fileinfo.dll
新しいphp.iniを有効にするために、Apacheを再起動することを忘れないでください。
PHPでも同じ問題が発生しました。次の手順を実行しました。
- 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サーバーを保存して再起動します。
それらは正常に機能していましたが、このエラーが表示されます:
一部のホスティングプロバイダー(Dreamhostなど)では、構成ファイルのデフォルトのPHP設定を、多くの場合次のようなパスでオーバーライドできます。
~/.php/5.4/phprc
PHP(または、あなたに代わってアップグレードされます)。fileinfo拡張を有効にするものを含む、以前のバージョンからのカスタム設定は、通常、設定ファイルを適切な新しい設定ディレクトリにコピーして、サーバーを再起動することができます。