我在page.tpl.php文件中围绕内容渲染php添加了if语句。唯一的问题是我犯了一个错误,并意外地阻止了它在任何页面上呈现内容。我清除了缓存并注销进行测试,然后意识到我纠正了模板文件的错误。但是现在我无法再次登录以清除缓存,因为我的站点无法呈现内容,因此也不会呈现登录框。
有人可以在Drupal 7中为我提供一种无需登录框即可登录的方法(例如将登录框分别呈现给内容的方法)还是清除缓存的方法吗?
drush cc站在终端上,而不必在Drupal根中进行操作。
我在page.tpl.php文件中围绕内容渲染php添加了if语句。唯一的问题是我犯了一个错误,并意外地阻止了它在任何页面上呈现内容。我清除了缓存并注销进行测试,然后意识到我纠正了模板文件的错误。但是现在我无法再次登录以清除缓存,因为我的站点无法呈现内容,因此也不会呈现登录框。
有人可以在Drupal 7中为我提供一种无需登录框即可登录的方法(例如将登录框分别呈现给内容的方法)还是清除缓存的方法吗?
drush cc站在终端上,而不必在Drupal根中进行操作。
Answers:
一世。如果您安装了drush(http://drupal.org/project/drush)-如果没有,请下次考虑:),在Windows或Ctrl + Alt中打开控制台(WIN + R) Linux中的+ T指向您的站点文件夹(例如cd /www/mydrupalsite/,键入:
$ drush cc all
从命令行。
ii。另一种方法是登录到phpmyadmin中,选择您的cache_表并刷新/清空它们。
我最终发现的最佳解决方案是通过phpmyadmin来完成。我登录并清空了名称开头带有“缓存”的所有表。如果您不忙于工作,这很容易。
drush方法的答案来使人们发现这个问题而出轨,这显然省时省力,并且最重要的是预期的方法。
除了上述选项外,作为最后的尝试,您可以调用函数drupal_flush_all_caches(),以清除所有缓存。
您可以通过将下面的代码放在文档根目录下的php文件中,并使用浏览器进行访问来做到这一点:
define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal_flush_all_caches();
我尚未测试此代码,请确保在清除缓存后将其删除。
您可以通过在Windows命令控制台中或从.bat文件(或从Linux控制台)中执行以下命令来清除Drupal缓存:
php -r“ define('DRUPAL_ROOT','../web'); chdir(DRUPAL_ROOT); define('MAINTENANCE_MODE','update');全局$ _SERVER; $ _SERVER ['REMOTE_ADDR'] ='127.0.0.1 '; require_once DRUPAL_ROOT。'/ includes / bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); drupal_flush_all_caches();“
只要确保代码中的DRUPAL_ROOT指向Drupal目录即可。
delete from cache where cid <> '';
delete from cache_block where cid <> '';
delete from cache_bootstrap where cid <> '';
delete from cache_field where cid <> '';
delete from cache_filter where cid <> '';
delete from cache_path where cid <> '';
delete from cache_libraries where cid <> '';
delete from cache_image where cid <> '';
delete from cache_page where cid <> '';
delete from cache_token where cid <> '';
delete from cache_update where cid <> '';
delete from cache_views where cid <> '';
delete from cache_views_data where cid <> '';
TRUNCATE TABLE table_namecachecache_