मैं अपने आवेदन के माध्यम से सिम्फनी 2 कैश को खाली करने की कोशिश कर रहा हूं जैसे कि मैं php app/console cache:clear
कर रहा था।सिम्फनी 2 पर प्रोग्रामेटिक रूप से स्पष्ट कैश 2
//solution 1
$process = new Process('php '.__DIR__.'/../../../../../app/console cache:clear');
$process->setTimeout(3600);
$process->run();
//solution 2
$input = new StringInput(null);
$output = new NullConfigurationOutput();
$command = new CacheClearCommand();
$command->setContainer($container);
$command->run($input, $output);
//solution 3
$container->get('cache_clearer')->clear($container->getParameter('kernel.cache_dir'));
मैं भी rm -Rf
कैश फ़ोल्डर के लिए कोशिश की है:
मैं जैसे कई अलग अलग समाधान, की कोशिश की है।
उनमें से कोई भी पूरी तरह से काम नहीं कर रहा है क्योंकि मुझे कई त्रुटियां मिल रही हैं। निम्न त्रुटि वह है जिसे मैं समाधान 2 पर प्राप्त कर रहा हूं (जो सबसे अच्छा प्रतीत होता है):
सत्र शुरू करने में विफल: पहले ही PHP ($ _SESSION सेट है) से शुरू हुआ।
ऐसा लगता है कि सिम्फनी पृष्ठ को पुनर्निर्माण करने या रेंडर प्रक्रिया के दौरान एप्लिकेशन को रीबूट करने की कोशिश कर रहा है।
कोई PHP कोड के माध्यम से कैश को कैसे साफ़ कर सकता है?
संपादित करें: मैं वास्तव में अपने रूटिंग सिस्टम की वजह से कैश को पुन: उत्पन्न करने की कोशिश कर रहा हूं। मैंने एक बंडल बनाया है जो एक सिम्फनी 2 रूट लेता है और एसईओ उद्देश्य के लिए इसे फिर से लिखने की संभावना जोड़ता है (उदाहरण: मेरे पास एक फ्रंटकॉन्टर मार्ग है जो इस श्रेणी के साथ/श्रेणी को इंगित करता है, मैं इसे श्रेणी-एसईओ-अनुकूलित करने के लिए फिर से लिख सकता हूं। एचटीएमएल)।
यदि मैं ऐसे मार्ग पर हूं जहां विशेष पैरामीटर की आवश्यकता है, जैसे कि आईडी, मुझे इसे फिर से लिखने के लिए इसके लिए एक विशेष मार्ग बनाना होगा। उदाहरण के लिए,/श्रेणी/3 के लिए मुझे एक मार्ग बनाने की आवश्यकता है जिसका नाम श्रेणी_3 है और .. सिम्फनी को यह जानने के लिए कि मैंने रूटिंग सिस्टम बदल दिया है, मुझे कैश साफ़ करना पड़ा।
यहां उत्तर दिया गया: [Symfony2 में कंटेनर कैश को अमान्य कैसे करें?] (http://stackoverflow.com/questions/19995020/how-to-invalidate-container-cache-in-symfony2) –