我有一个在CentOS VirtualBox中运行的CakePHP项目。 该网站配有Apache 2.2.15。
文档根文件夹中有JS文件。 Apache似乎为他们提供文件。
但是在我编辑一个JS文件之后,Apache会提供这个旧文件。 它将修改旧文件的大小以匹配新文件的大小并提供修改后的旧文件:
符号附加到旧文件并提供结果。 重新启动Apache不能解决问题。
我发现使Apache服务当前文件的唯一方法是将文件移动到另一个位置。 然后CakePHP将显示一个奇怪的404页面。 然后,我将文件移回,Apache将显示当前状态下的文件。
但是i2.2.15t会在这个状态下冻结文件,再次修改文件后我将不得不再次重复这个技巧。
Apache日志很干净,访问日志文件显示如下:
172.28.128.1 – – [12 / Jul / 2014:07:42:13 -0400]“GET /assets/js/compiled/editable_group.js HTTP / 1.1”200 903
问题的原因是什么?如何解决?
PS我会很乐意提供任何细节,日志,configuration等只要告诉我你想看到什么。
好的,在这个问题上find了答案:
CentOS 5.9虚拟机上的Apache不正确地提供修改后的文件
解决方法是将EnableSendfile off到Apacheconfiguration中的<directory>部分。