Giriş yapmadan Önbelleği Temizle


10

Page.tpl.php dosyasındaki içerik render php etrafında bir if ifadesi ekledim. Tek sorun, bir hata yaptım ve yanlışlıkla herhangi bir sayfada içerik oluşturmasını engelledim. Önbelleği temizledim ve test etmek için oturumu kapattım ve hatanın farkına vararak şablon dosyasını düzelttim. Ancak şimdi sitem içerik oluşturmayacağı ve dolayısıyla giriş kutusunu oluşturmayacağı için önbelleği tekrar temizlemek için tekrar giriş yapamıyorum.

Birisi bana Drupal 7'de giriş kutusu olmadan giriş yapmam için bir yol verebilir mi (giriş kutusunu içeriğe ayrı ayrı oluşturmanın bir yolu gibi) veya önbelleği temizlemenin bir yolu olabilir mi?


2
Eğer veritabanına erişiminiz varsa sadece tablo ve diğer tüm tablolar TRUNCATE TABLE table_nameiçin çalıştırıncachecache_
Clive

2
Eğer drush yüklediyseniz drush cc, drupal kökünüzde dururken terminalden yapabilirsiniz .
Cyclonecode 23:12

Tpl sayfasında drupal_flush_all_caches ();
Anil Sagar

Yanıtlar:


12

ben. Eğer drush yüklediyseniz (http://drupal.org/project/drush) - yoksa, bir dahaki sefere düşünün :), Windows veya Ctrl + Alt'ta konsolu (WIN + R) açın Linux'ta + T site klasörünüzü işaret eder (örneğin cd /www/mydrupalsite/ve şunu yazın:

 $ drush cc all

komut satırından.

ii. Başka bir yöntem phpmyadmin'e giriş yapmak cache_ tablolarınızı seçmek ve onları temizlemek / boşaltmaktır.


6

Sonunda bulduğum en iyi çözüm phpmyadmin ile yapmaktı. Oturum açtım ve adlarının başında "önbellek" bulunan tüm tabloları boşalttım. Eğer drush çalışmazsanız kolay.


Herhangi bir ek bilgi olmadan kısmen drupal_stuff_alter'ın cevabını tekrarlamak neredeyse yararlı değildir ve bence bu site kavramını çok reddeder . Hatta neden bu soruyu bulan insanları niçin raydan çıkarmak istediğini drush, açık bir şekilde daha az zaman ve çaba harcayan ve en üstte amaçlanan yöntem olan bir cevabı yayınlayarak ve kabul ederek düşünmeye başlayamıyorum .
TheThirdMan

5

Yukarıda belirtilen seçeneklere ek olarak, son hendek çabası olarak drupal_flush_all_caches()tüm önbellekleri temizlemek için işlevi çağırabilirsiniz .

Bunu, aşağıdaki kodu belge kökünüzdeki bir php dosyasına yerleştirip bir tarayıcıyla ziyaret ederek yapabilirsiniz:

define('DRUPAL_ROOT', getcwd());
require_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
drupal_flush_all_caches();

Bu kodu test etmedim ve önbelleklerinizi temizledikten sonra kaldırdığınızdan emin olun.


Önce DRUPAL_ROOT sabitini tanımlamanız gerektiğini unutmayın. Başlangıçta kod örneğinde görünmüyordu, bu yüzden şimdi göründüğü için biraz beyaz boşluk ekledim.
Ryan Szrama

2

Ayarlayabilirsiniz

$update_free_access = TRUE;

(226. satır civarında) ve /update.php dosyasına göz atın. Bu önbelleği temizleyecektir.


0

Windows komut konsolunda veya bir .bat dosyasından (veya Linux konsolundan) aşağıdaki komutu yürüterek Drupal önbelleğini temizleyebilirsiniz:

php -r "define ('DRUPAL_ROOT', '../web'); chdir (DRUPAL_ROOT); define ('MAINTENANCE_MODE', 'güncelleme'); global $ _SERVER; $ _SERVER ['REMOTE_ADDR'] = '127.0.0.1 '; requir_once DRUPAL_ROOT.' / include / bootstrap.inc '; drupal_bootstrap (DRUPAL_BOOTSTRAP_FULL); drupal_flush_all_caches (); "

Koddaki DRUPAL_ROOT komutunun Drupal dizinini gösterdiğinden emin olun.


0
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 <> '';
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.