题
我怎么空的推缓存:
- 没有 该模块的开发
- 没有运行的一些PHP声明在一个新的节点等。
- 如果没有进入的数据库本身
有效,如何做你的指示最终用户,以明确他的高速缓存?
解决方案
当你登录作为一个管理员 (显然,不是每个用户的网站具有权力来清除缓冲), 应该有一页"管理>网站,配置>性能".
而且,在页底部,应该有一个按钮(喜欢的东西"清除缓存的数据")清除高速缓存
因为我记得,没有必要为开发这样做,你真的不需要去的数据库,也没有运行一些家庭成PHP code.
作为一个参考,可以看一看 如何明确的推Server-side cache
其他提示
你也可以使用 Drush 模块,该模块可以让你用执行的命令行受欢迎的推命令,如"drush cron"或"drush缓存中清除"。
如果您想清除高速缓存从一个模块,可以使用以下代码。
drupal_flush_all_caches();
我有最简单的解决方案。安装admin_menu模块(实际上不仅用于这一目的,一旦安装了这个模块,你不会后悔肯定的,链接: http://drupal.org/project/admin_menu).好的,然后在一个新出现的顶的下拉菜单将你的图标和下拉式菜单将会出现,你会看到:齐所有高速缓存单。一击-一个冲洗。而且你可以清除所有缓存在一起,或者选择什么样的冲:页面,菜单,主题等。尝试你将永远不会回去)
这将是真棒,如果你可以得到的行为,通过点击:
http://drupal.local./admin/settings/performance?op=Clear%20cached%20data
但您不能。
但是我要注意的URL短切通过管理的菜单(使用后者的一部分):
http://drupal.local. /admin/settings/performance
在需求清算,可以在管理>网站,配置>的性能。
你应该设置计划任务的工作运行每一小时(或者任何时间以自己的喜好).
当时是运行上推,所有高速缓存清除和重建不需要人手这样做。
如果这个问题涉及的主题,则应禁用缓存机制(css/js聚集)和您不会有明显的缓存数据时做出改变。
我发现如下: http://www.drupalgardens.com/content/clear-all-caches-not-working
还有另一个层的缓存周围的站点"清除所有 缓存"不影响的,你是正确的。那是层储存 内容为匿名用户。
如果你想绕过缓存,用于测试目的,可以添加一个 垃圾查询串到你的网站路径。例如,如果您 想绕过高速缓存在example.drupalgardens.com/foo 你可以 访问example.drupalgardens.com/foo?bar=baz 或者任何随机的其他文本 设立了喜欢吗?xxxxx=xxxxx。
这帮助我,因为我有过问题清除缓存在结构>绩效似乎并没有帮助。
上述代码被用于推6.
为推7齐-高速缓冲存储器模块如下:
<?php
/**
* Implementation of hook_menu()
*/
function flush_cache_menu() {
$items = array();
$items['flush-cache'] = array(
'type' => MENU_NORMAL_ITEM,
'title' => t('Flush the cache'),
'description' => 'Flush all website caches to make sure it updates to relect '.
'your recent changes.',
'page callback' => 'flush_cache_custom_callback',
'access callback' => user_access('flush cache'),
);
return $items;
}
/**
* Implementation of hook_permission()
*/
function flush_cache_permission() {
return array(
'administer my module' => array(
'title' => t('flush cache module'),
'description' => t('Content admin flush cache.'),
),
);
}
/**
* Function that flushes the cache
*/
function flush_cache_custom_callback() {
drupal_flush_all_caches();
return 'Caches were flushed.';
}
注:你那么冲过去:
sitename.com/flush-cache
确保你给他们许可的权限页。清除缓冲一次的"正常"的方法如果允许不会出现以后转的模块。
这是最好的时候你不想你的客户获得管理菜单但你仍然想要他们能够齐的缓存。
在这里,你去:
我来安装的"开发"模块(这是不符合特殊的菜单项的,我需要更糟糕),所以我做了我自己。
任何你看到MODULENAME替换它的名称模块。
步骤1:添加任何模块(最好你的一个定义模块)在HOOK_MENU,在"return$项目"行:
// short cut for flushing the caches:
$items['flush-cache'] = array(
'type' => MENU_CALLBACK,
'title' => t('Flush the cache'),
'description' => 'MODULENAME Custom Cache Flush',
'page callback' => 'MODULENAME_flush_cache',
'access callback' => TRUE,
);
步骤2:现在,在相同模块的文件,它不是"内部的"任何其他功能,增加:
/** Page callback **/
function MODULENAME_flush_cache() {
drupal_flush_all_caches();
return 'Caches were flushed.';
}
现在,你可以去URL"/齐-cache"在你的网站刷新的高速缓存。(后你冲缓存最后一次老的方式。)
步骤3:如果你想要它真的很方便,增加以下你page.tpl.php 文件。你可以把它几乎任何地方之间的 <body> 和 </body>.注:$my_is_test是一个可变我用的是真的在我的测试系统和错误的产生。如果你没有类似的东西,替换它与真正的或虚假的开启或关闭:
<?php if ($my_is_test): ?>
<a style="text-align:left; position:absolute; right:2px; top:20px;" href="<?=$base_path?>flush-cache" onclick="this.innerHTML = '<b><blink><big>Wait...</big></blink></b>';">flush</a>
<? endif; ?>
瞧!你有一个"冲洗"的链接至右上角的每一页你可以点击。随意变更"正确的"和"最高"数量(或变更"正确","离开"或"顶级","自下而上"把它放在你喜欢它。这种链接的定位只适用于现代浏览器,但它只为你,所以它不应该是一个问题,对不对?
以下模块创建一个单一项目,这是仅向用户的许可"缓冲",这种模块提供关于经常用户的权限页。
/**
* Implementation of hook_menu()
*/
function flush_cache_menu() {
$items = array();
$items['flush-cache'] = array(
'type' => MENU_NORMAL_ITEM,
'title' => t('Flush the cache'),
'description' => 'Flush all website caches to make sure it updates to relect '.
'your recent changes.',
'page callback' => 'flush_cache_custom_callback',
'access callback' => user_access('flush cache'),
);
return $items;
}
/**
* Implementation of hook_perm()
*/
function flush_cache_perm() {
return array('flush cache');
}
/**
* Function that flushes the cache
*/
function flush_cache_custom_callback() {
drupal_flush_all_caches();
return 'Caches were flushed.';
}
在推8、管理菜单模块是不是很准备使用。它可能会得到替换为推"栏".因此,现在有没有简单的方法来清除缓冲,实际上并没有要:
admin/config/development/performance
唯一的选择是增加一个菜单项的现有工具栏。这可以通过使用 这个模块, 但你可以看到,它仍然需要一位的工作。我得到了它的工作,但不得不做一些调整。
使用drush和下命令:drush cc所有
如果你使用提升到高速缓冲你需要的是更具体:
drush @alias_name cc all