फ़ाइल सिस्टम आधारित कॉन्फ़िगरेशन के साथ काम करना
ध्यान दें कि डिफ़ॉल्ट रूप से Drupal कॉन्फ़िगरेशन प्रबंधन की जानकारी को डेटाबेस में संग्रहीत करता है। ताकि फाइल सिस्टम आधारित कार्यप्रवाह (workflow) सही ढंग से काम करे, आपको settings.php और services.yml फ़ाइलों को संशोधित करना होगा।
यह Drupal को स्थापित करने से पहले किया जाना चाहिए, क्योंकि फाइल सिस्टम पर स्विच करने के बाद डेटाबेस-आधारित कॉन्फ़िगरेशन प्रबंधन पर वापस लौटना कठिन होता है। यदि आपको साइट स्थापित करने के बाद फाइलों में कॉन्फ़िगरेशन सक्षम करनी है, तो आपको पहले अपनी कॉन्फ़िगरेशन को निर्यात (export) करना होगा और फाइल-आधारित कॉन्फ़िगरेशन सक्षम करने से पहले सक्रिय (active) कॉन्फ़िगरेशन फ़ोल्डर में उसकी एक प्रति सहेजनी होगी।
ध्यान दें: आपके पास अलग-अलग सक्रिय (active) और स्टेजिंग (staging) डायरेक्टरी होनी चाहिए (नीचे दी गई कॉन्फ़िगरेशन के अनुसार) — फाइल-आधारित कार्यप्रवाह के लिए कॉन्फ़िगरेशन आयात (import) चरण अभी भी आवश्यक है। इस समस्या को देखें — फाइल सिस्टम आधारित कार्यप्रवाह बिना कॉन्फ़िगरेशन आयात चरण के मॉड्यूल को सही ढंग से इंस्टॉल/हटाता नहीं है।
1. settings.php फ़ाइल खोलें और “Active configuration settings” अनुभाग खोजें।
2. उस पंक्ति को अनकमेंट करें जो $settings ['bootstrap_config_storage']
से शुरू होती है ताकि फाइल-आधारित कॉन्फ़िगरेशन स्टोरेज सक्षम हो जाए।
और कृपया सुनिश्चित करें कि यह पंक्ति इस प्रकार है:
$settings['bootstrap_config_storage'] = array('Drupal\Core\Config\BootstrapConfigStorageFactory::class', 'getFileStorage');
3. settings.php में निम्नलिखित कोड जोड़ें (स्रोत: https://www.drupal.org/node/2291587#comment-10426135):
$config_directories[CONFIG_ACTIVE_DIRECTORY] = 'PATH_OUTSIDE_WEB_ROOT/config/active/'; $config_directories[CONFIG_STAGING_DIRECTORY] = 'PATH_OUTSIDE_WEB_ROOT/config/staging/';
फ़ाइल सहेजें।
sites/default में services.yml फ़ाइल खोलें और निम्नलिखित कोड जोड़ें (स्रोत: https://www.drupal.org/node/2291587#comment-10567238):
services: config.storage: class: Drupal\Core\Config\CachedStorage arguments: ['@config.storage.active', '@cache.config'] config.storage.active: class: Drupal\Core\Config\FileStorage factory: Drupal\Core\Config\FileStorageFactory::getActive
5. स्रोत साइट की active फ़ोल्डर से कॉन्फ़िगरेशन (.yml) फ़ाइलों को staging फ़ोल्डर में कॉपी करें।
6. rsync, git, ftp, या scp जैसे टूल का उपयोग करें ताकि स्रोत साइट की staging फ़ोल्डर की सामग्री को लक्ष्य साइट की staging फ़ोल्डर में कॉपी किया जा सके।
7. लक्ष्य वेबसाइट पर जाएं: admin/config/development/configuration
8. “सभी आयात करें” (Import all) पर क्लिक करें।