Я использую расширение APC на нашем производственном сервере.Я добавил этот код:
$tmp = apc_fetch('pe_cache_test');
apc_store('pe_cache_test', ($tmp === false) ? 0 : $tmp + 1);
... и заметил, что pe_cache_test остается пустым для дальнейших запросов.Это нормальное поведение, например, из-за нескольких php-экземпляров?Если кэш-данные были потеряны для каждого запроса, как бы APC мог улучшить производительность?
Если это поведение не предусмотрено, где я могу найти источник проблем?
Спасибо,fishbone
Редактировать 2 :
Мой хост-провайдер подтвердил мои предположения.FCGI используется на сервере, и поэтому память не может быть разделена.Не является ли это элементарной проблемой и делает APC абсолютно бесполезным для многих производственных серверов?Именно по этой причине мне интересно, почему никто не может ответить на мой вопрос.Даже обходной путь или некоторые подсказки были бы очень полезны.
Редактировать :
config и версии:
PHP-версия: 5.2.16
APC-config (обратите внимание, что я использую php.ini, используемый httpd, но запускаю phpinfo () из cli, поэтому «Поддержка APC» установлена в «отключено»)
APC Support => disabled
Version => 3.1.3p1
MMAP Support => Enabled
MMAP File Mask =>
Locking type => pthread mutex Locks
Revision => $Revision: 286798 $
Build Date => Jan 4 2011 13:07:19
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.shm_segments => 1 => 1
apc.shm_size => 30 => 30
apc.stat => On => On
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
Мой хост-провайдер предоставляет только флажок для включения / выключения APC, поскольку веб-сайт работает на управляемом сервере.