Я обнаружил, что на веб-сайте, который я установил на двух разных серверах, на одном из серверов, когда я загружаю определенный файл, mimetype файла определяется как video / mpeg, используя mime_content_type($filepath);
но на другом сервере тот же mimetype файла определен как application / octet-stream в той же строке кода. Существуют ли какие-либо настройки PHP или различия в версиях PHP, которые могут вызвать это? Первый сервер работает под управлением PHP 5.3.27, а второй — под управлением PHP 5.3.2.
Редактировать: то же самое происходит, когда я пытаюсь определить mimetype через FileInfo.
Я не смог найти соответствующую информацию, но я думаю, что PHP получает информацию MIME от /usr/share/mime/
,
Пожалуйста, посмотрите в /usr/share/mime/video/
если у вас есть mpeg.xml
,
Если не, вот мой (Я могу удалить в ближайшее время).
Также вы можете попробовать запустить команду /usr/bin/update-mime-database
,
Дальнейшая информация: https://wiki.debian.org/MimeTypesSupport
Обновить:
PHP использует /usr/share/file/magic.mgc
база данных волшебной пантомимы.
Пожалуйста, Google для того, чтобы обновить эту базу данных и после перезагрузки PHP она может работать.
Других решений пока нет …