3

У меня проблема с файлами на смонтированном общем ресурсе внутри машины Virtualbox.

Проблема в том, что, хотя я могу видеть содержимое файлов достаточно хорошо из оболочки, эти же файлы получаются слегка поврежденными, усеченными или в старых версиях, иногда при подаче через http через веб-сервер Apache.

Кажется, проблема возникает только после того, как файл достигает определенной длины (100-200 символов). Иногда в конце добавляются нечитаемые символы, что приводит к появлению небольших вопросительных знаков в браузере. Другим распространенным симптомом является то, что когда файл изменяется с хоста, невозможно заставить Apache обслуживать новую версию. (Проблема не связана с ETag, и Apache имеет прекрасные права на чтение для всех файлов. Я сомневаюсь, что это связано исключительно с кодировками.)

Это действительно похоже на проблему на уровне файловой системы, которая проявляется только в Apache.

Некоторые факты:

Ведущий: MacBook Pro/Snow Leopard

Гость: Fedora 16

Apache: 2.2.22

VirtualBox: 4.1.8

Я пробовал монтировать в fstab, но также вручную, меняя идентификатор пользователя на apache.

Я прошу прощения за расплывчатый (неисследованный?) описание проблемы, но я действительно не знаю, с чего начать, и я надеюсь получить некоторые подсказки в правильном направлении. Это настоящая проблема - Mac, Virtualbox, Fedora или Apache?

ОБНОВЛЕНИЕ: я понимаю, что есть нечто большее, чем Apache httpd, неправильно обслуживающий файлы - иногда, когда я создаю новую папку на хосте, запись отображается в виде группы вопросительных знаков при составлении списка каталогов в оболочке гость. Само собой разумеется, что я не могу перейти в эту новую папку, пока я не перезагрузил гостя.

2 ответа2

2

Взгляните на тикет на https://www.virtualbox.org/ticket/819, там они предлагают то, что вы уже нашли, это директива Apache EnableSendfile . Отключение этой директивы, похоже, решает проблему на наших серверах.

0

Некоторые поиски "apache mmap" показывают, что Apache будет использовать mmap(2) для доступа к файлам, когда файлы превышают определенный размер (который по умолчанию составляет 1 байт в системах, отличных от SunOS). Эта проблема может быть вызвана ошибкой в поддержке VirtualBox для доступа mmap к общим папкам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .