$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
在一项请求中,这项工作。
现在,如果我尝试在另一个请求上执行var_dump(apc_fetch('foo'));
,则会打印出来:
bool(false)
任何帮助?
我使用PHP 5.2,APC-3.1.9
进行gentoo这里phpinfo()知道APC:
APC Support enabled
Version 3.1.9
APC Debugging Disabled
MMAP Support Enabled
MMAP File Mask no value
Locking type pthread mutex Locks
Serialization Support php
Revision $Revision: 308812 $
Build Date May 27 2011 13:14:20
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 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
如果您需要其他信息,请告诉我
以下是我安装它的方式:https://serverfault.com/questions/274261/failed-installing-apc
我注意到一件事:在phpinfo'配置命令中我没有找到apc
'./ configure'' - disable-cli' '--disable-丢弃路径' ' - 禁用力-cgi-redirect选项' '前缀=的/ usr /本地/ PHP5' '--with-config-file-path = / usr / local / lib / php5'' - with-pear = / usr / share / php5' '--enable-exif'' - enable-ftp' '--enable-bcmath'' - 启用日历' '--with-gd'' - enable-gd-native-ttf' '--with-freetype-dir'' - with-gettext' '--with-zlib-dir'' - with-imap' '--with-IMAP-SSL' '--with-PNG-DIR = / USR' '--with-JPEG-DIR = / USR' '--with-xpm-dir = / usr'' - with-openssl' '--with-kerberos'' - enable-sysvsem' '--enable-sysvshm'' - with-mcrypt' '--with-iconv'' - enable-mbstring = all' '--enable-mbregex'' - with-mysql = / usr' '--with-mysqli'' - with-curl' '--with-XSL'
答案 0 :(得分:6)
可能你在CGI上运行PHP(而不是你应该使用的FastCGI) - 参见my answer in another question如果PHP在CGI上运行,为什么APC不起作用。
答案 1 :(得分:0)
您的默认ttl(apc.ttl)为0秒,这很奇怪 - 请在存储值时尝试指定ttl(以秒为单位):
apc_store('foo', $bar, 60);
答案 2 :(得分:0)
php.ini的内容
apc.enabled="1"
apc.shm_segments="1"
apc.shm_size="128M"
apc.ttl="7200"
apc.user_ttl="7200"
apc.file_update_protection="3"
apc.cache_by_default="0"
apc.max_file_size="1M"
apc.stat="0"
apc.write_lock="1"
apc.report_autofilter="0"
apc.include_once_override="0"
apc.localcache="1"
apc.localcache.size="1024"
apc.coredump_unmap="0"
; Optional, Comment out them later on
apc.num_files_hint="5000"
apc.user_entries_hint="5000"
apc.gc_ttl="3600"
apc.stat_ctime="0"
apctest.php的内容
<?php
$bar = 'BAR';
apc_store('foo', $bar);
var_dump(apc_fetch('foo'));
?>
apctest.php的结果
string 'BAR' (length=3)
apctest2.php的内容
<?php
var_dump(apc_fetch('foo'));
?>
apctest2.php的结果
string 'BAR' (length=3)
apc.php显示在“用户缓存条目”
下User Entry Label Hits Size Last accessed Last modified Created at Timeout Deleted at
foo 4 656 31.05.2011 12:12:22 31.05.2011 12:05:33 31.05.2011 12:05:33 None [Delete Now]
软件版本:
PHP Version 5.3.6
Server Version: Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 SVN/1.6.9 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_fcgid/2.3.5 mod_perl/2.0.4 Perl/v5.8.8
OS: CENTOS 5.6 x86_64 standard
答案 3 :(得分:0)