>백엔드 개발 >PHP 튜토리얼 >PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mime_content_type() 호출

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mime_content_type() 호출

WBOY
WBOY원래의
2023-06-23 08:42:142236검색

PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mime_content_type() 호출

PHP 프로젝트를 개발하는 과정에서 때때로 이 문제에 직면하게 됩니다. - "PHP 치명적인 오류: 정의되지 않은 함수 mime_content_type() 호출", 이 오류는 일반적으로 PHPMailer를 사용하거나 파일을 업로드할 때 발생합니다. 이는 실제로 PHP 버전이 다르거나 mime_content_type() 확장이 부족하여 발생합니다.

이 문제를 해결하는 방법은 무엇입니까? 다음으로 이 기사에서는 몇 가지 솔루션을 소개합니다.

방법 1: php.ini에서 mime_content_type()을 활성화합니다

첫 번째 방법은 php.ini 파일에서 mime_content_type() 함수를 활성화하는 것입니다.

PHP 설치 디렉터리에서 php.ini 파일을 열고, 파일에서 "extension=php_fileinfo.dll"을 검색하고, 이전 주석 기호인 ";"를 제거한 다음 저장하고 종료한 후 Apache 서버를 다시 시작하세요. . 이 dll 파일이 확장 디렉터리에 없으면 수동으로 dll 파일을 다운로드하여 php 확장 디렉터리에 복사해야 합니다.

Linux 시스템을 사용하는 경우 php.ini 파일을 편집하고 "extension=fileinfo.so"를 검색한 후 이전 주석의 주석 처리를 제거하여 mime_content_type() 함수를 활성화하세요.

방법 2: php 및 fileinfo 확장 설치

두 번째 방법은 php 및 fileinfo 확장 설치입니다.

먼저 터미널에 php -v 명령줄을 입력하여 현재 PHP 버전을 확인하세요. PHP5라면 fileinfo 확장 프로그램을 직접 설치하세요. 다음 명령줄을 입력하세요:

sudo apt-get install -y fileinfo

PHP7인 경우 다음 명령줄을 입력하세요.

sudo apt-get install -y php7.X-fileinfo(여기서 X는 PHP 버전입니다) 번호)

설치가 완료된 후 Apache 서버를 다시 시작하면 문제가 해결됩니다.

방법 3: 코드 수정

세 번째 방법은 코드 수정입니다.

PHPMailer에서 다음 코드를 기반으로 다음 줄을 추가하세요:

if (!function_exists('mime_content_type')) {

function mime_content_type($filename) {

return new finfo(FILEINFO_MIME_TYPE, '/usr/share/ misc/magic');

}

}

간단한 업로드 파일을 사용해야 하는 경우 파일 업로드 코드에서 다음 코드에 따라 판단할 수 있습니다.

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';

}

참고: 위 코드는 참조용이므로 실제 개발 요구에 따라 수정해야 합니다.

위의 내용은 PHP 치명적인 오류: 정의되지 않은 함수 mime_content_type() 호출에 대한 몇 가지 해결 방법입니다. 특정 방법은 상황에 따라 선택해야 합니다. 어떤 방법을 사용하든 목적은 mime_content_type() 함수를 사용하여 치명적인 오류 문제를 해결하는 것입니다.

위 내용은 PHP 치명적인 오류에 대한 해결 방법: 정의되지 않은 함수 mime_content_type() 호출의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.