programing

PHP fileinfo가 정의되지 않은 함수입니다.

oldcodes 2023. 7. 23. 14:40
반응형

PHP fileinfo가 정의되지 않은 함수입니다.

제가 php에서 mime 콘텐츠 유형을 가져오려고 할 때마다 다음과 같이 울립니다.

치명적 오류: 4행의 /home/jobynadel/finadel.com/video/finfo.php 에서 클래스 'finfo'를 찾을 수 없습니다.

또는

치명적 오류: 4호선의 /home/jobynadel/finadel.com/video/finfo.php 에 정의되지 않은 함수 finfo_open으로 호출

도저히 이해할 수가 없어요!

사용 중인 코드는 다음과 같습니다.

$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또는php_fileinfo.dll활성화되었습니다(플랫폼 및 버전에 따라 다름).

다음과 유사한 라인이 있어야 합니다.

extension=fileinfo.so

당신의 php.ini 파일에서.

XAMPP를 사용하는 경우 다음을 활성화합니다.extension=php_fileinfo.dllphp.ini로

당신은 어떤 버전의 PHP를 가지고 있습니까?PHP 5.3.0 이상에는 Fileinfo가 내장되어 있지만 Windows에서는 수동으로 활성화해야 합니다.php.ini자세한 내용은 설명서에서 확인할 수 있습니다.

WAMP를 사용하는 경우 PHP 확장자로 이동하여 PHP_fileinfo를 enbale하고 모든 서버를 다시 시작합니다.

Windows 사용자: php.ini를 편집하고 이 줄의 주석을 제거합니다.

extension=php_fileinfo.dll

즉, 앞의 세미콜론을 제거합니다.

;extension=php_fileinfo.dll

php.ini를 적용하려면 Apache를 다시 시작해야 합니다.

정상적으로 작동하는 경우 다음 오류가 나타납니다.

일부 호스팅 공급자(예: Dreamhost)는 고객이 구성 파일의 기본 PHP 설정을 재정의할 수 있도록 허용하며, 종종 다음과 같은 경로를 사용합니다.

~/.php/5.4/phprc

PHP를 업그레이드하는 경우(또는 사용자 대신 업그레이드하는 경우) 해당 경로의 해당 버전 번호가 문제가 될 수 있습니다.fileinfo 확장을 사용하도록 설정하는 설정을 포함하여 이전 버전의 모든 사용자 지정 설정이 최신 버전에서 누락됩니다.일반적으로 구성 파일을 적절한 새 구성 디렉토리에 복사하고 서버를 재시작하면 됩니다.

저도 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

그런 다음 웹 서버를 저장하고 다시 시작합니다.

PHP 7.3 이상의 경우

바꾸다

;extension=fileinfo

로.

extension=fileinfo

php.ini 파일에 있습니다.

언급URL : https://stackoverflow.com/questions/3579072/php-fileinfo-is-undefined-function

반응형