Apache에서 Virtualbox 공유 폴더 읽기 문제

Apache에서 Virtualbox 공유 폴더 읽기 문제

Virtualbox 시스템 내부에 마운트된 공유에 있는 파일에 문제가 있습니다.

문제는 쉘에서 파일 내용을 충분히 볼 수 있음에도 불구하고 동일한 파일이 약간 손상되거나 잘리거나 이전 버전에서 나타나는 경우가 있으며 때로는 Apache 웹 서버를 통해 http를 통해 제공된다는 것입니다.

문제는 파일이 특정 길이(100-200자)에 도달한 후에만 발생하는 것 같습니다. 때로는 읽을 수 없는 문자가 끝에 추가되어 브라우저에 물음표가 거의 표시되지 않는 경우도 있습니다. 또 다른 일반적인 증상은 파일이 호스트에서 변경될 때 Apache가 새 버전을 제공하도록 할 방법이 없다는 것입니다. (문제는 ETags와 관련이 없으며 Apache는 모든 파일에 대한 완벽한 읽기 권한을 가지고 있습니다. 인코딩에만 관련된 것인지 의심됩니다.)

이는 실제로 Apache에서만 나타나는 파일 시스템 수준의 문제처럼 보입니다.

몇 가지 사실:

호스트: MacBook Pro/Snow Leopard

게스트: 페도라 16

아파치: 2.2.22

버추얼박스: 4.1.8

fstab에 마운트를 시도했지만 수동으로 사용자 ID를 Apache로 변경했습니다.

모호한(연구되지 않은?) 문제 설명에 대해 사과드립니다. 하지만 어디서부터 시작해야 할지 모르겠고 올바른 방향으로 힌트를 얻을 수 있기를 바라고 있습니다. 진짜 문제는 Mac, Virtualbox, Fedora 또는 Apache입니까?

업데이트: Apache httpd가 파일을 올바르게 제공하지 않는 것보다 더 많은 문제가 있다는 것을 알고 있습니다. 때로는 호스트에 새 폴더를 만들 때 셸에서 디렉터리 목록을 수행할 때 해당 항목이 여러 물음표로 표시됩니다. 손님. 게스트를 재부팅할 때까지 새 폴더로 이동할 수 없다는 것은 말할 필요도 없습니다.

답변1

티켓을 살펴보세요.https://www.virtualbox.org/ticket/819, 거기서 그들은 당신이 이미 발견한 Apache의 것을 제안합니다.Sendfile 활성화지령. 이 지시문을 끄면 서버의 문제가 해결되는 것 같습니다.

답변2

"apache mmap"을 검색하면 Apache가mmap(2)파일이 특정 크기를 초과할 때 파일에 액세스합니다(SunOS가 아닌 시스템에서는 기본값이 1바이트로 나타남). 이 문제는 공유 폴더에 대한 mmap 액세스에 대한 VirtualBox 지원의 버그로 인해 발생할 수 있습니다.

관련 정보