बिना लॉग इन के कैश साफ़ करें


10

मैंने अपने page.tpl.php फ़ाइल में सामग्री रेंडर php के आसपास एक if स्टेटमेंट जोड़ा है। केवल समस्या यह है कि मुझसे गलती हुई है और गलती से इसे किसी भी पेज पर सामग्री प्रदान करने से रोका गया है। मैंने कैश को साफ़ किया और इसे जांचने के लिए लॉग आउट किया, और अपनी गलती का एहसास करते हुए मैंने टेम्पलेट फ़ाइल को ठीक किया। लेकिन अब मैं फिर से कैश को खाली करने के लिए लॉग इन नहीं कर सकता क्योंकि मेरी साइट सामग्री प्रस्तुत नहीं करेगी और इस तरह लॉगिन बॉक्स को प्रस्तुत नहीं करेगी।

क्या कोई मुझे ड्रुपल 7 में कोई रास्ता दे सकता है या तो लॉगिन इन बॉक्स के बिना लॉग इन कर सकता है (जैसे कंटेंट के लिए अलग से लॉगिन बॉक्स रेंडर करने का तरीका) या कैश क्लियर करने का तरीका?


2
आप डेटाबेस बस चलाने के लिए उपयोग कर सकते हैं तो TRUNCATE TABLE table_nameके लिए cacheके साथ शुरुआत की मेज और अन्य सभी तालिकाओंcache_
क्लाइव

2
यदि आपके पास ड्रश स्थापित है, तो आप अपने ड्रुपल drush ccरूट में खड़े होकर टर्मिनल से कर सकते हैं ।
साइक्लोनोस्कोप

आप पृष्ठ में tpl सिर्फ drupal_flush_all_caches चलाएं ();
अनिल सागर

जवाबों:


12

मैं। यदि आपके पास ड्रश स्थापित है (http://drupal.org/project/drush) - यदि आपके पास यह नहीं है, तो अगली बार उस बारे में सोचें :), विंडोज या Ctrl + Alt में कंसोल (जीत + आर) खोलें। + लिनक्स में टी आपके साइट फ़ोल्डर को इंगित करता है (उदाहरण के लिए cd /www/mydrupalsite/और टाइप करें:

 $ drush cc all

कमांड लाइन से।

ii। एक और तरीका यह है कि आप अपने phpmyadmin में लॉग इन करें अपने कैश_ टेबल का चयन करें और उन्हें फ्लश / खाली करें।


6

अंत में मुझे जो सबसे अच्छा समाधान मिला, वह इसे phpmyadmin के माध्यम से करना था। मैंने लॉग इन किया और उनके नाम की शुरुआत में "कैश" वाली किसी भी टेबल को खाली कर दिया। आसान है अगर आप नशे में काम नहीं करते हैं।


किसी भी अतिरिक्त जानकारी के बिना भाग में drupal_stuff_alter के उत्तर को दोहराना शायद ही उपयोगी है, और मेरी राय में इस साइट की अवधारणा के बहुत खारिज कर दिया गया है। मैं यह भी नहीं मान सकता कि आप भविष्य में इस प्रश्न को ढूंढने वाले लोगों को पोस्ट और उत्तर को स्वीकार करने से क्यों चूकना चाहते हैं drush, जो कि उस विधि को बताता है , जिसमें स्पष्ट रूप से कम समय और प्रयास लगता है, और जिसके शीर्ष पर अभीष्ट तरीका है।
थेहड़मन

5

ऊपर बताए गए विकल्पों के अलावा, एक अंतिम खाई के प्रयास के रूप में आप फ़ंक्शन को कॉल कर सकते हैं 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();

मैंने इस कोड का परीक्षण नहीं किया है, और अपने कैश को साफ़ करने के बाद इसे निकालना सुनिश्चित करें।


ध्यान दें कि आपको पहले DRUPAL_ROOT को परिभाषित करना होगा। यह मूल रूप से कोड उदाहरण में नहीं दिख रहा था, इसलिए मैंने कुछ सफेद स्थान जोड़े ताकि यह अब दिखाई दे।
रयान सजमा

2

आप सेट कर सकते हैं

$update_free_access = TRUE;

settings.php में (लाइन 226 के आसपास) और /update.php पर ब्राउज़ करें। इससे कैश क्लियर हो जाएगा।


0

आप Windows कमांड कंसोल में या .bat फ़ाइल (या लिनक्स कंसोल से) निम्न कमांड को निष्पादित करके Drupal कैश को साफ़ कर सकते हैं:

php -r "define ('DRUPAL_ROOT', '../web'); chdir (DRUPAL_ROOT); परिभाषित ('MAINTENANCE_MODE', 'अपडेट'); वैश्विक $ .SERVER; $ _SERVER ['REMOTE_ADDR'] = '127.0.0.1.1; '; आवश्यकता_ऑनर्स DRUPAL_ROOT।' / / bootstrap.inc शामिल हैं;

बस यह सुनिश्चित करें कि DRUPAL_ROOT कोड में Drupal निर्देशिका को इंगित करता है।


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 <> '';
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.