Когда я меняю php-код приложения, мне нужно перезапустить apache, чтобы новый код вступил в силу.
$ sudo apachectl -l
Compiled in modules:
core.c
mod_log_config.c
mod_logio.c
itk.c
http_core.c
mod_so.c
Это довольно стандартная конфигурация Ubuntu Apache. Я только установил mod_itk и создал несколько виртуальных хостов.
Любые идеи?
APC Support enabled
Version 3.1.7
APC Debugging Disabled
MMAP Support Enabled
MMAP File Mask no value
Locking type pthread mutex Locks
Serialization Support php
Revision $Revision: 307215 $
Build Date May 2 2011 19:00:42
Directive Local Value Master Value
apc.cache_by_default On On
apc.canonicalize On On
apc.coredump_unmap Off Off
apc.enable_cli Off Off
apc.enabled On On
apc.file_md5 Off Off
apc.file_update_protection 2 2
apc.filters no value no value
apc.gc_ttl 3600 3600
apc.include_once_override Off Off
apc.lazy_classes Off Off
apc.lazy_functions Off Off
apc.max_file_size 1M 1M
apc.mmap_file_mask no value no value
apc.num_files_hint 1000 1000
apc.preload_path no value no value
apc.report_autofilter Off Off
apc.rfc1867 Off Off
apc.rfc1867_freq 0 0
apc.rfc1867_name APC_UPLOAD_PROGRESS APC_UPLOAD_PROGRESS
apc.rfc1867_prefix upload_ upload_
apc.rfc1867_ttl 3600 3600
apc.serializer default default
apc.shm_segments 1 1
apc.shm_size 32M 32M
apc.slam_defense On On
apc.stat Off Off
apc.stat_ctime Off Off
apc.ttl 0 0
apc.use_request_time On On
apc.user_entries_hint 4096 4096
apc.user_ttl 0 0
apc.write_lock On On
Вы не перечисляете нам модули PHP. Скорее всего, у вас есть что-то вроде PHP Accelerator, XCache или что-то подобное, интерфейсный кеш, такой как кеширование Varnish, или какая-то другая черная магия, которую вы нам не раскроете.
Для кешей, таких как XCache, см. Их руководство, как работать с этим.
Информацию о интерфейсных кэшах, таких как Varnish, см. В их руководстве.
Кроме этого, трудно представить, что на самом деле кэширует ваши данные.
В apc.stat
опция выключена.
apc.stat Off Off
В этом случае APC никогда не перечитает кешированные файлы.
В документация состояния:
Если этот параметр отключен, APC не будет проверять, что обычно означает, что для принудительной проверки файлов APC необходимо перезапустить веб-сервер или очистить кеш вручную.
Чтобы избежать перезапуска веб-сервера, очистить кеш вручную за счет того, что веб-сервер обслуживает сценарий PHP, содержащий только:
apc_clear_cache();