У меня есть проект CakePHP, работающий в CentOS VirtualBox. Веб-сайт обслуживается Apache 2.2.15.
В корневой папке документа находятся файлы JS. Казалось, что Apache обслуживает их файл.
Но после того, как я отредактирую файл JS, Apache будет обслуживать старый файл. Он изменит размер старого файла, чтобы он соответствовал размеру нового файла, и обслужит измененный старый файл:
�
символы в старый файл и служить результат.Перезапуск Apache не решает проблему.
Единственный способ заставить Apache обслуживать текущий файл - это переместить файл в другое место. Тогда CakePHP отобразит причудливую страницу 404. Затем я перемещаю файл обратно, и Apache отображает файл в его текущем состоянии.
Но i2.2.15t заморозит файл в этом состоянии, и после повторного изменения файла мне придется снова повторить трюк.
Журналы Apache чистые, в файле журнала доступа отображается следующее:
172.28.128.1 - - [12 / июл / 2014: 07: 42: 13 -0400] "GET /assets/js/compiled/editable_group.js HTTP / 1.1" 200 903
В чем причина проблемы и как ее решить?
PS Буду рад предоставить любые подробности, логи, конфиги и т. Д. Просто скажите, что вы хотите увидеть.
Хорошо, нашел ответ в этом вопросе:
Apache на CentOS 5.9 VM неправильно обслуживает измененные файлы
Решение - включить EnableSendfile off
в <directory>
раздел в конфигурации Apache.