Heim > Artikel > Backend-Entwicklung > Lösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion mime_content_type()
Lösung für PHP-Schwerwiegender Fehler: Aufruf der undefinierten Funktion mime_content_type()
Bei der Entwicklung eines PHP-Projekts tritt manchmal häufig dieses Problem auf: „Schwerwiegender PHP-Fehler: Aufruf der undefinierten Funktion mime_content_type()“, normalerweise dieser Fehler Tritt auf, wenn PHPMailer verwendet oder Dateien hochgeladen werden usw. Dies wird tatsächlich durch unterschiedliche PHP-Versionen oder das Fehlen der Erweiterung mime_content_type() verursacht.
Wie kann man dieses Problem lösen? Als Nächstes stellt Ihnen dieser Artikel einige Lösungen vor.
Methode 1: Aktivieren Sie mime_content_type() in php.ini.
Die erste Methode besteht darin, die Funktion mime_content_type() in der Datei php.ini zu aktivieren.
Öffnen Sie die Datei php.ini im PHP-Installationsverzeichnis, suchen Sie in der Datei nach „extension=php_fileinfo.dll“, entfernen Sie das vorherige Kommentarsymbol, also „;“, speichern und beenden Sie den Apache-Server und starten Sie ihn neu . Wenn diese DLL-Datei nicht in Ihrem Erweiterungsverzeichnis vorhanden ist, müssen Sie die DLL-Datei manuell herunterladen und in das PHP-Erweiterungsverzeichnis kopieren.
Wenn Sie ein Linux-System verwenden, bearbeiten Sie die Datei php.ini, suchen Sie nach „extension=fileinfo.so“ und kommentieren Sie den vorherigen Kommentar aus, um die Funktion mime_content_type() zu aktivieren.
Methode 2: Durch die Installation von PHP- und Fileinfo-Erweiterungen
Die zweite Methode ist die Installation von PHP- und Fileinfo-Erweiterungen.
Geben Sie zunächst die Befehlszeile im Terminal ein: php -v, um die aktuelle PHP-Version zu überprüfen. Wenn es sich um PHP5 handelt, installieren Sie einfach die Dateiinfo-Erweiterung. Geben Sie die folgende Befehlszeile ein:
sudo apt-get install -y fileinfo
Wenn es sich um PHP7 handelt, geben Sie die folgende Befehlszeile ein:
sudo apt-get install -y php7.X-fileinfo (wobei X Ihre PHP-Version ist Nummer)
Nachdem die Installation abgeschlossen ist, starten Sie den Apache-Server neu und das Problem wird behoben.
Methode drei: durch Ändern des Codes
Die dritte Methode besteht darin, den Code zu ändern.
Fügen Sie in PHPMailer diese Zeile basierend auf dem folgenden Code hinzu:
if (!function_exists('mime_content_type')) {
function mime_content_type($filename) {
return new finfo(FILEINFO_MIME_TYPE, '/usr/share/ misc/magic');
}
}
Wenn Sie eine einfache Upload-Datei verwenden müssen, können Sie anhand des folgenden Codes im Code zum Hochladen der Datei beurteilen:
if (function_exists('mime_content_type') ) {
$type = mime_content_type($filename);
} else if (function_exists('finfo_file')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE); $type = finfo_file($finfo, $filename);finfo_close ( $finfo);
} else {
$type = 'application/octet-stream';
}
Hinweis: Der obige Code dient nur als Referenz und muss entsprechend den tatsächlichen Entwicklungsanforderungen geändert werden.
Zusammenfassend sind die oben genannten Lösungen für PHP-Schwerwiegender Fehler: Aufruf der undefinierten Funktion mime_content_type() Die spezifische Methode sollte entsprechend Ihrer eigenen Situation ausgewählt werden. Unabhängig von der verwendeten Methode besteht der Zweck darin, die Funktion mime_content_type() verfügbar zu machen, um das Problem eines schwerwiegenden Fehlers zu lösen.
Das obige ist der detaillierte Inhalt vonLösung für PHP Schwerwiegender Fehler: Aufruf der undefinierten Funktion mime_content_type(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!