web-dev-qa-db-fra.com

PHP fileinfo est une fonction non définie

Chaque fois que j'essaie d'obtenir le type de contenu mime de php, il résonne:

Erreur fatale: Classe 'finfo' introuvable dans / home/jobynadel/finadel.com/video/finfo.php en ligne 4

ou

Erreur fatale: Appel à la fonction non définie finfo_open dans / home/jobynadel/finadel.com/video/finfo.php en ligne 4

Je n'arrive pas à comprendre!

Le code que j'utilise est:

$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));
65
Jobynad

Jetez un œil à votre fichier php.ini et vérifiez que le fileinfo.soou php_fileinfo.dll est activé (selon votre plateforme et votre version).

Il devrait y avoir une ligne similaire à

extension=fileinfo.so

dans votre fichier php.ini

95
jdehaan

Si vous utilisez XAMPP, vous activez extension=php_fileinfo.dll dans php.ini

28
binhhoang18

Quelle version de PHP avez-vous? PHP 5.3.0 et versions ultérieures ont Fileinfo intégré, mais sous Windows, vous devez l'activer manuellement dans votre php.ini. Vous pouvez trouver plus d'informations dans la documentation .

20
Jordan Running

Si vous utilisez WAMP, accédez à PHP et activez PHP_fileinfo et redémarrez tous les services.

9
Vikrant Ramteke

Utilisateurs Windows: modifiez simplement php.ini et décommentez cette ligne:

extension=php_fileinfo.dll

C'est à dire. supprimer le point-virgule précédent de

;extension=php_fileinfo.dll

N'oubliez pas de redémarrer Apache pour new php.ini pour prendre effet.

5
Peter Moses

J'ai eu ce même problème avec PHP. J'ai fait les étapes suivantes:

 - 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

Enregistrez puis redémarrez votre serveur Web.

1
lalithkumar

Pour ceux qui l'ont bien fonctionné, mais cette erreur apparaît:

Certains fournisseurs d'hébergement (par exemple, Dreamhost) permettent aux clients de remplacer les paramètres par défaut PHP dans un fichier de configuration, souvent avec un chemin d'accès comme:

~/.php/5.4/phprc

Ce numéro de version dans le chemin peut être un problème si vous mettez à niveau PHP (ou il est mis à niveau en votre nom). Tous les paramètres personnalisés de la version précédente, y compris celui activant l'extension fileinfo, seront manquant dans la version la plus récente. Habituellement, vous pouvez simplement copier le fichier de configuration dans le nouveau répertoire de configuration approprié et redémarrer le serveur.

1
Alan Bellows