Перезапуск Apache необходим после изменения кода PHP
Когда я изменяю 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 и создал несколько vritualhosts.
Есть идеи?
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
2 ответа
Вы не перечислите нам модули PHP. Скорее всего, у вас есть что-то вроде PHP Accelerator, XCache или чего-то подобного, интерфейсный кеш, такой как кеширование Varnish или какая-то другая черная магия, которую вы нам не покажете.
Кэши, такие как XCache, см. В их руководстве, как работать с этим.
Для внешних кэшей, таких как Varnish, см. Их руководство.
Кроме этого, трудно представить, что на самом деле кеширует ваши вещи.
apc.stat
опция отключена.
apc.stat Off Off
В этом случае APC никогда не будет перечитывать кэшированные файлы.
В документации говорится:
Если этот параметр выключен, APC не будет проверять, что обычно означает, что для принудительной проверки APC файлов веб-сервер должен быть перезапущен, или кэш должен быть очищен вручную.
Чтобы избежать перезапуска веб-сервера, вручную очистите кэш, предоставив веб-серверу сценарий PHP, содержащий только:
apc_clear_cache();