Penyelesaian kepada PHP Fatal error: Call to undefined function mime_content_type()
Dalam proses membangunkan projek PHP, kadangkala anda akan sering menghadapi masalah ini - "PHP Fatal error: Call to undefined function mime_content_type( )", ralat ini biasanya berlaku apabila menggunakan PHPMailer atau memuat naik fail. Ini sebenarnya disebabkan oleh versi PHP yang berbeza atau kekurangan sambungan mime_content_type().
Jadi bagaimana untuk menyelesaikan masalah ini? Seterusnya, artikel ini akan memperkenalkan anda kepada beberapa penyelesaian.
Kaedah 1: Dayakan mime_content_type() dalam php.ini
Kaedah pertama adalah untuk mendayakan fungsi mime_content_type() dalam fail php.ini.
Buka fail php.ini dalam direktori pemasangan PHP, cari "extension=php_fileinfo.dll" dalam fail, alih keluar simbol ulasan sebelumnya, iaitu, ";", kemudian simpan dan keluar, dan mulakan semula pelayan Apache. Jika fail dll ini tidak wujud dalam direktori sambungan anda, anda perlu memuat turun fail dll secara manual dan menyalinnya ke direktori sambungan php.
Jika anda menggunakan sistem Linux, edit fail php.ini, cari "extension=fileinfo.so", dan nyahkomen ulasan sebelumnya untuk mendayakan fungsi mime_content_type().
Kaedah 2: Dengan memasang sambungan php dan info fail
Kaedah kedua ialah dengan memasang sambungan php dan info fail.
Mula-mula, masukkan baris arahan dalam terminal: php -v untuk menyemak versi PHP semasa Jika PHP5, pasang terus sambungan info fail. Masukkan baris arahan berikut:
sudo apt-get install -y fileinfo
Jika PHP7, masukkan baris arahan berikut:
sudo apt-get install -y php7. X-fileinfo (di mana X ialah nombor versi PHP anda)
Selepas pemasangan selesai, mulakan semula pelayan Apache dan masalah akan diselesaikan.
Kaedah ketiga: dengan mengubah suai kod
Kaedah ketiga ialah dengan mengubah suai kod.
Dalam PHPMailer, tambah baris ini berdasarkan kod berikut:
jika (!function_exists('mime_content_type')) {
function mime_content_type($filename) {
kembalikan fiinfo baharu(FILEINFO_MIME_TYPE, '/usr/share/misc/magic');
}
}
Jika anda perlu menggunakan fail muat naik mudah , anda boleh menilai mengikut kod berikut dalam kod memuat naik fail:
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);
} lain {
$type = 'application/octet-stream';
}
Nota: Kod di atas adalah untuk rujukan sahaja dan perlu dibangunkan mengikut keadaan sebenar pengubahsuaian mengikut keperluan.
Ringkasnya, perkara di atas adalah beberapa penyelesaian kepada ralat Fatal PHP: Panggilan ke undefined function mime_content_type(). Tidak kira kaedah yang digunakan, tujuannya adalah untuk menjadikan fungsi mime_content_type() tersedia untuk menyelesaikan masalah ralat Fatal.
Atas ialah kandungan terperinci Penyelesaian kepada ralat Fatal PHP: Panggilan ke fungsi yang tidak ditentukan mime_content_type(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!