当我部署网站的新版本时,我需要清除所有APC缓存条目。 APC.php 有一个按钮可以清除所有opcode缓存,但我没有看到清除所有用户条目、所有系统条目或所有目录条目的按钮。
是否可以通过命令行或其他方式清除所有缓存条目?
当我部署网站的新版本时,我需要清除所有APC缓存条目。 APC.php 有一个按钮可以清除所有opcode缓存,但我没有看到清除所有用户条目、所有系统条目或所有目录条目的按钮。
是否可以通过命令行或其他方式清除所有缓存条目?
如果您在Ubuntu下运行fpm,需要运行下面的代码(已在12和14上检查)
service php5-fpm reload
APC的稳定版具有在其界面中清除缓存的选项。要清除这些条目,您必须登录到APC界面。
APC具有在apc.php文件中设置用户名和密码的选项。
php-apc
包,您将获得此界面。 - Strangerapc.ini
apc.stat = "1"会强制APC在每个请求中对脚本进行状态(检查),以确定它是否已被修改。如果已经被修改,它将重新编译并缓存新版本。
如果关闭此设置,则APC不会检查,这通常意味着要强制APC重新检查文件,必须重新启动Web服务器或手动清除缓存。请注意,FastCGI Web服务器配置可能不会在重新启动时清除缓存。在脚本文件很少更改的生产服务器上,通过禁用统计信息可以实现显着的性能提升。
我在Symfony构建中遇到了很多实例在同一台服务器上的问题,我的解决方法如下:
步骤1。
创建触发器或其他东西来设置文件标志(例如Symfony命令),然后创建标记文件
..
file_put_contents('clearAPCU','yes sir i can buggy')
步骤2。
在索引文件的开头添加清除代码并删除标记文件
。
if(file_exists('clearAPCU')){
apcu_clear_cache();
unlink('clearAPCU');
}
第二步。 运行应用程序。
foreach(array('user','opcode','') as $v ){
apc_clear_cache($v);
}
在浏览器中运行它。
TL;DR:删除位于/storage/framework/cache/data/
的缓存文件。
我启用了APC,但它没有安装(也无法安装),所以会抛出Call to undefined function Illuminate\Cache\apc_store()
。
"好吧,我只需要禁用它就可以了,然后它应该可以工作了"。
那么,不,我卡在了Call to undefined function Illuminate\Cache\apc_delete()
。
对我来说,一个好的解决方案是在部署后不再使用过时的用户缓存。
如果您为每个键添加前缀,则可以在更改缓存条目的数据结构时更改前缀。这将帮助您在部署时获得以下行为:
这仅适用于用户缓存。