Este é provavelmente o problema com a implementação buggy sendfile()
do VirtualBox.
Tente definir:
EnableSendfile off
O equivalente para nginx:
sendfile off;
Editar: isso foi quase totalmente reescrito, já que reduzi o problema.
Estou usando uma VM do Vagrant para espelhar o ambiente do cliente o mais próximo possível. Estou usando o VirtualBox 4.3 (com Guest Additions 4.3) com o Vagrant 1.3.5, e o servidor está rodando o CentOS 5.9, o Apache 2.2.3-83, o PHP 5.3.3 e o Drupal 7.
Quando o servidor inicia os arquivos originais no diretório compartilhado, onde meu aplicativo reside, eles são armazenados em cache. Quando eu mudo o arquivo, o arquivo original +/- o delta do tamanho do arquivo é exibido, levando à corrupção da imagem que eu vi antes. Portanto, as adições adicionam caracteres NUL no final do original e as exclusões truncam o arquivo. Quando visualizo o arquivo usando nano
, o conteúdo está correto; reiniciar o serviço httpd
não faz diferença. Preciso reiniciar a VM para que as alterações sejam exibidas corretamente.
Antes:
// The quick brown fox
Alterações:
// The quick brown fox jumps over the lazy dog
Apache serve:
// The quick brown fox%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%
Onde exatamente esse erro está? Com o Apache 2.2 ou suas dependências, ou com o VirtualBox e suas adições de comentários?
Tags virtualbox apache-2.2 centos5