6

CentOS6 仮想マシンに Apache と PHP をクリーン インストールしました。また、共有フォルダーを作成し、それをドキュメント ルートとして使用しました。

すべてが完璧に機能し、ウェブサイトにアクセスしてやりたいことをすべて実行でき、ワークステーションで PHP ファイルを編集でき、ブラウザーでテストするとすぐに最新の状態になります。

ただし、Web サイトに「リンク」されているファイルである CSS と JavaScript を編集すると、奇妙な問題が発生します。ページをキャッシュせずにリロードすると、コンテンツは更新されませんが、コンテンツの長さは更新されます。

したがって、スクリプトに何かを追加すると、同じコンテンツが提供され、コンテンツの長さが長くなり、不明な文字記号 (四角の疑問符) を追加してこれを修正しようとします。

逆に何かを削除すると、コンテンツの長さが短いことが認識され、最後に削除が開始されます。

これは 2 つのクリーン インストールで発生し、Google で同じ問題を抱えている人を探しましたが、問題が拡散しているため、定義が困難です。

キャッシュされていない結果をすべて強制的に強制するために、可能なすべてのApache構成を試しましたが、運がありませんでした。

強制的に更新するために私が見つけた唯一のことは、共有フォルダーの再マウントです

さらに情報が必要な場合は、喜んで提供します。

4

2 に答える 2

1

問題がキャッシュにないのではないかと疑い始めていましたが、virtualbox をあまり使用していないため、他の問題は少し手の届かないところにありました。

ただし、私の同僚は、vboxsf は「あまり良くない」と述べています (まったくそのような言葉ではありません)。そのため、他に検索する必要がある場合は、簡単に定義してプレストすることができました。

https://forums.virtualbox.org/viewtopic.php?f=3&t=1940&p=6680&hilit=shared+folder+apache#p6680

これはこれにつながります:

http://httpd.apache.org/docs/2.0/faq/error.html#error.sendfile

それらを無効にすると、この問題が解決しました!

于 2012-11-23T09:31:58.070 に答える
0

どこかでキャッシングが行われていることは間違いありません。

これに対処するための私の戦略は、リンクの最後に .css /.js ファイルのfilemtime()を追加することです。

あなたは次のようなリンクになります

<link type='text/css' rel='stylesheet' media='screen' href='stylesheet.css?1352889543' />

このように、サーバーもブラウザーも、変更されたファイルをキャッシュすることはできません。

于 2012-11-22T15:47:10.623 に答える