PHP APC缓存不保留任何变量

PHP APC缓存不保留任何变量,php,apache,caching,cpanel,apc,Php,Apache,Caching,Cpanel,Apc,我肯定错过了一些明显的东西。我的APC安装正确,在phpinfo()中显示得很好。我目前正在apache上运行PHP5.4.20和APC3.1.13。这是一个cpanel安装,所以请记住这一点 主要问题是缓存正在工作,但仅在页面加载期间有效。如果我跑 <?php apc_store('foo', 'bar'); echo apc_fetch('foo'); ?> 我一定错过了一些明显的东西。。。。。感谢您的帮助。短暂性脑缺血发作 编辑 所以我检查了apc是否在已经安

我肯定错过了一些明显的东西。我的APC安装正确,在phpinfo()中显示得很好。我目前正在apache上运行PHP5.4.20和APC3.1.13。这是一个cpanel安装,所以请记住这一点

主要问题是缓存正在工作,但仅在页面加载期间有效。如果我跑

<?php
    apc_store('foo', 'bar');
    echo apc_fetch('foo');
?>
我一定错过了一些明显的东西。。。。。感谢您的帮助。短暂性脑缺血发作

编辑


所以我检查了apc是否在已经安装了apc的prod服务器上正常工作。事实上,它正在发挥应有的作用。因此,我运行了php_sapi_name(),在prod服务器上它是apache2handler,在开发服务器(我目前正在使用的服务器)上,它使用的是cgi fcgi,这可能是问题的原因。因为我使用的是cPanel,所以我应该能够简单地将PHP“Handler”从suPHP更改为DSO,然后它就可以工作了。prod服务器不使用cpanel,只是很好的旧方式…呃…非cpanel的东西使其工作。

您需要使用APC web界面来调试此问题

找到一个名为apc.php的文件

find / -name apc.php
现在将其复制到您的www/folder并加载到浏览器中

(下面是一个它看起来像什么的示例:)

现在,请重试脚本,并检查变量是否已正确存储且有效期较长。 还要测试系统缓存是否在每次页面加载时都被重置。(APC.php或其他脚本。)


最后,尝试在apache中从worker切换到prefork。(如果使用prefork,则相反)

我找到了这条回答我问题的线索。根本问题是,当我需要在DSO/mod_php下正确运行APC时,我正在CGI-FCGI下运行。在Cpanel上更改它是一件麻烦事,因为apc.so扩展导致更改php处理程序时该部分失败……是的。

为什么要将其存储在apc中,而不是会话中?您运行php的模式是什么?APC在FastCGI下工作异常,在CGI下根本不工作。@Machavity我们已经在会话中存储了一堆东西,我正在查看的数据最适合在中央cache@duskwuff我很确定我们是在FastCGI下运行的,因为它是基于cPanel的。是否有其他缓存引擎可以与FastCGI一起正常工作?我问这个问题是因为我们正在尝试镜像我们的prod服务器,而不会因为新的设置而变得太疯狂。实际上我这样做了,脚本也在工作,但它显示没有保存任何数据,没有缓存任何文件,没有记录任何用户条目。每次我运行一个带有apc_的脚本,然后检查这个文件,除了时间之外没有任何更新。即使正常运行时间始终为0,无论它已经运行了多长时间。在没有太多变化的情况下,was是APC的一个很好的替代品,它的设置和维护不会太疯狂。memchached是一个好的选择吗?opcache?xcache?顺便说一句,我更多的是寻找要缓存的用户条目,而不是文件。听起来你在SAPI处理程序中找到了问题的根源。:)
apc

APC Support => disabled
Version => 3.1.13
APC Debugging => Disabled
MMAP Support => Enabled
MMAP File Mask =>  
Locking type => pthread read/write Locks
Serialization Support => broken
Revision => $Revision: 327136 $
Build Date => Oct 17 2013 16:47:57

Directive => Local Value => Master Value
apc.cache_by_default => Off => Off
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 => 512 => 512
apc.shm_strings_buffer => 4M => 4M
apc.slam_defense => Off => Off
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
find / -name apc.php