Vagrantの共有フォルダをDocumentRootに設定した場合にファイルの変更が反映されない

Vgrantの共有フォルダをApacheのDocumentRootにした場合、まれにファイルの変更が反映されない場合があります。

外部JavascriptとかCSSを書いているときにこれがおこると盛大に時間を浪費してしまうので、注意が必要です。

対策はhttpd.confなどのApacheのconfファイルの、DocumentRootに関する部分に以下の二行を追加しましょう

EnableMMAP Off
EnableSendfile Off

例えば、こんな感じです。

DocumentRoot "/var/www/html"

の時に、

<Directory "/var/www/html">
 :
snip

EnableMMAP Off
EnableSendfile Off

snip
  :
<Directory>

これらのディレクティブはそれぞれファイルの読み込みを減らして、パフォーマンスをあげる目的のものらしいですが、Vagrantの共有フォルダのような外部から変更されたものに関しては、まれに問題がおこるようです。

サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)
鶴長 鎮一
技術評論社
売り上げランキング: 30,437