2014-09-24 2 views
-1

나는 특정 파일을 업로드 할 때 서버 중 하나에서 두 개의 다른 서버에 설정 한 웹 사이트에서 해당 파일의 MIME 유형이 mime_content_type($filepath);을 사용하는 비디오/mpeg 파일로 감지되지만 다른 서버에서는 동일한 파일 mimetype은 동일한 코드 행에서 application/octet-stream으로 결정됩니다. 어떤 일종의 PHP 설정이나 PHP 버전의 차이가 발생합니까? 첫 번째 서버는 PHP 5.3.27을 실행하고 두 번째 서버는 PHP 5.3.2를 실행합니다.PHP는 다른 서버에서 다른 MIME 유형을 업로드합니까?

편집 : FileType을 통해 mimetype을 결정할 때도 같은 결과가 발생합니다.

+0

오래된 mime_content_type() 대신'\ FileInfo' 사용 – DanFromGermany

+0

FileInfo를 사용하여 테스트를 시도했지만 결과가 같았 기 때문에 문제가되지 않습니다. – Kai

답변

0

관련 정보를 찾을 수 없지만 PHP가 mime info를 /usr/share/mime/에서 얻는다고 생각합니다.

mpeg.xml이 있으면 /usr/share/mime/video/을 확인하십시오.

그렇지 않은 경우 here is mine (가까운 시일 내에 삭제할 수 있음).

또한 /usr/bin/update-mime-database 명령을 실행 해 볼 수 있습니다.

추가 정보 : https://wiki.debian.org/MimeTypesSupport

업데이트 :

PHP는 /usr/share/file/magic.mgc 매직 마임 데이터베이스를 사용합니다.

이 데이터베이스를 업데이트하는 방법은 google을 참조하십시오. PHP를 다시로드 한 후에 작동 할 수도 있습니다.

+0

다른 파일과 동일한 파일에서 작동하지 않는 서버에서 /usr/share/file/magic.mgc를 바꿀 수 있습니까? 나는 그렇게하려고 애썼지 만, 아파치를 재시작했지만 작동하지는 않았다. – Kai

관련 문제