У меня возникла странная проблема с кешем на моем сервере, в проекте, над которым я работаю, в настоящее время не включено кеширование, но на самом сервере установлен APC (который был настроен для кеширования всего по умолчанию, это было отключен сейчас).
Проблема в том, что мой старый код все еще работает, и я не знаю, как запустить исправленный код.
Я попытался полностью удалить файл, это приводит к ошибке моего проекта с «отсутствующим файлом», как и должно быть, но как только я загружаю свой файл (новую версию), он снова начинает обслуживать старую версию файла.
Я загрузил файл с уникальной меткой apc_clear_cache();
и apc_clear_cache( 'opcode' );
но это, похоже, не помогло.
Я также прокомментировал загрузку APC с помощью PHP, но он по-прежнему обслуживает старые файлы, поэтому мне интересно, есть ли что-то, что вызывает это агрессивное кеширование.
Apache2, PHP, APC и т. Д. Загружаются с помощью Aptitude в Debian Wheezy
PHP 5.4.4-14 + deb7u3 (работает под mod_php) Apache 2.2.22
Между каждым изменением конфигурации и отключением APC я выполнял полный перезапуск apache.
Я проверил список модулей apache2, модули кеша не загружены, также нет запущенных сервисов, таких как лак и т. Д.
Обновить
Провел дополнительное тестирование, добавил вывод html перед <?php
тег, который выводится, поэтому содержимое за пределами тегов php, похоже, не кэшируется.
Файл, который не обновляется, включается в include_once()
и отключение APC не оказало никакого влияния на некорректное обслуживание файла.
Проблема заключается в попытке использовать HTML2PDF для создания файла .pdf после отправки формы.
PHP Fatal error: Uncaught ERROR File : /lib/html2pdf/html2pdf.class.php Line : 1319, Impossible to load the image 'logo.png' thrown in /lib/html2pdf/html2pdf.class.php on line 1319
В новой версии файла используется logo.jpg
В APC это чаще всего происходит в результате apc.stat
выключаются, или выставляют ctime вместо mtime, или наоборот, в зависимости от вашего SCCS. Вы можете проверить, действительно ли APC отключен, с помощью чего-то вроде phpinfo()
.