34

OSX、Ubuntu、および Windows 7 で vagrant を実行し、ホスト マシンで IDE として vim と Netbeans を使用しています。VM は CentOS 6.3 と Apache 2.2 を実行しています。docroot は に設定されてい/vagrantます。

JS または CSS ファイルを編集して保存すると、ブラウザが向きを変え、不正な文字を検出します。ブラウザでファイルを表示すると、ひし形の疑問符文字が表示されます。これは通常、エンコードの問題を示しています。VM内のvimでファイルを開いて保存する:w ++enc=utf-8と、ファイルは正常にロードされます。

ホストマシンとさまざまなホストOSで複数のIDEを試しましたが、vagrantとマウントされたディレクトリに関係するものにしか特定できません。ファイルをローカルで実行して動作させるか、リモート マシンに保存してファイルを動作させることができるので、私の IDE は問題ではありません。それらをマウントされたものに保存する場合にのみ/vagrant、問題が発生します。

これを機能させるために変更する必要があるのは、OSのApacheか何かですか?

4

2 に答える 2

51

私は今朝この問題を抱えていました。httpd.conf で EnableSendfile を off に設定します。

httpd.conf を見ると、「NFS マウントのファイルシステムからサービスを提供する場合は、これをオフにしてください」と書かれています。http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfileでは、「デフォルトでは、リクエストの処理にファイル内のデータへのアクセスが必要ない場合、たとえば、静的ファイルの配信 -- OS がサポートしている場合、Apache は sendfile を使用して、ファイルを読み取ることなくファイルの内容を配信します。」

Windows ホストには ntfs ファイル システムがあるため、Linux ゲストは sendfile でファイルを適切にキャッシュしないため、apache はファイル自体を送信する必要があります。これにより、apache からファイルを要求するときにわずかに速度が低下する可能性がありますが、無視できる程度です。

于 2013-03-15T19:13:15.973 に答える
7

使用しているサーバーによって異なります。

Nginxの場合: で/etc/nginx/nginx.conf:

を含む行を に変更しsendfile on;ますsendfile off;

Apacheの場合: で/etc/httpd/conf/httpd.conf:

変更 コメントを削除EnableSendfile off;

そして、Nginx または Apacheを忘れないでください。restartそれでも機能しない場合 exitvagrant reloadまたはそのような場合は、VM を再起動してください。

于 2016-05-24T03:09:37.787 に答える