1.2.2. Drush और Composer के बिना Drupal 8 को अपडेट करना
यदि आपने Drupal को आधिकारिक वेबसाइट drupal.org से इस पेज से डाउनलोड करके स्थापित किया है:
https://www.drupal.org/project/drupal
तो संभव है कि आपको Drupal को अपडेट करते समय समस्या हो, क्योंकि Drush और Composer के माध्यम से सामान्य अपडेट काम नहीं करेगा। इसलिए, आपको या तो फाइलों को मैन्युअली बदलकर Drupal अपडेट करना होगा, या फिर अपने प्रोजेक्ट की संरचना बदलनी होगी ताकि Composer उसे обновить कर सके। इस लेख में हम बिना Drush और Composer के Drupal को मैन्युअली अपडेट करने का तरीका рассмотрим।

अपडेट शुरू करने से पहले, अपने पूरे साइट का पूर्ण बैकअप बनाएं — सभी फाइलें और डेटाबेस की प्रतिलिपि लें। समस्याएँ शायद ही कभी होती हैं, लेकिन अगर कुछ गलत हो गया, तो साइट को पुनर्स्थापित करने में समय लग सकता है, इसलिए पहले से सुरक्षा के लिए बैकअप बनाना बेहतर है।
यदि आपकी साइट पहले से लाइव है और थोड़े समय के लिए भी उसे बंद करना व्यवसाय के लिए हानिकारक हो सकता है, तो सबसे अच्छा तरीका यह है कि आप साइट की एक कॉपी बनाएं, पहले उस पर अपडेट का परीक्षण करें, और सफल अपडेट के बाद वही कदम लाइव साइट पर दोहराएं या फिर अपडेटेड लोकल साइट को प्रोडक्शन में अपलोड करें।
अपडेट प्रक्रिया के दौरान अपने सभी कदम, त्रुटियाँ और सूचनाएँ नोट करें ताकि बाद में उन्हें दोहराना आसान हो।
FTP के माध्यम से रिमोट सर्वर पर Drupal 8 को अपडेट करने की कोशिश न करें — इसमें बहुत समय लगेगा। अगर आपके पास सर्वर तक SSH एक्सेस है, तो आप wget कमांड का उपयोग करके Drupal फाइलें सीधे डाउनलोड कर सकते हैं — यह बहुत तेज़ होगा।
अब जब आपके पास साइट का बैकअप है, तो आइए अपडेट शुरू करें।
1. व्यवस्थापक (admin) के रूप में लॉगिन करें, जिसके पास update.php चलाने और साइट को मेंटेनेंस मोड में डालने का अधिकार हो।
2. साइट को मेंटेनेंस मोड में डालें:
/admin/config/development/maintenance
Configuration → Development → Maintenance mode

3. साइट की रूट डायरेक्टरी से core और vendor फोल्डर हटा दें:

जैसे ही आप इन फ़ोल्डरों को हटाते हैं, साइट अस्थायी रूप से काम करना बंद कर देगी।
4. यदि आपने .htaccess या robots.txt फाइलों में परिवर्तन किए हैं, तो उन्हें सुरक्षित कर लें, क्योंकि इन्हें भी अपडेट किया जाएगा।
इसी तरह, यदि आपने composer.json में परिवर्तन किए हैं (जैसे नई PHP लाइब्रेरियाँ या मॉड्यूल जोड़े हैं), तो उन्हें भी नोट कर लें, क्योंकि आपको उन्हें दोबारा Composer से स्थापित करना होगा। यदि बदलाव बहुत अधिक हैं, तो इन फ़ाइलों (composer.json, composer.lock) को ओवरराइट न करें।

5. कभी-कभी default.settings.php में भी परिवर्तन होते हैं, इसलिए सुनिश्चित करें कि आप अपने settings.php में नए बदलाव जोड़ें। आप अपनी Drupal संस्करण के लिए बदलावों की सूची “View all releases” सेक्शन में पा सकते हैं:
https://www.drupal.org/project/drupal

हालाँकि, यदि आप केवल माइनर अपडेट (जैसे 8.5.x → 8.5.y) कर रहे हैं, तो इस चरण को छोड़ सकते हैं।
6. अब Drupal की नवीनतम संस्करण डाउनलोड करें:
https://www.drupal.org/project/drupal
नई संस्करण से vendor, core फ़ोल्डर और सभी रूट फ़ाइलें कॉपी करें और अपनी साइट की रूट डायरेक्टरी में अपलोड करें।

SSH का उपयोग करने पर आप Drupal को सीधे सर्वर पर डाउनलोड कर सकते हैं:
wget https://www.drupal.org/files/projects/drupal-x.y.z.tar.gz tar -zxvf drupal-x.y.z.tar.gz cp -R drupal-x.y.z/* drupal-x.y.z/.htaccess /path/to/your/installation
यदि केवल FTP उपलब्ध है, तो FileZilla का उपयोग करें और 10 समानांतर थ्रेड सेट करें ताकि ट्रांसफर तेज़ हो:

7. अब robots.txt, .htaccess, default.settings.php, settings.php, और composer.json में अपने परिवर्तन वापस जोड़ें।
8. इसके बाद डेटाबेस को अपडेट करने के लिए update.php चलाएँ। इसके लिए settings.php में यह लाइन अस्थायी रूप से जोड़ें:
$settings['update_free_access'] = TRUE;
अब /update.php चलाएँ:

9. यह सुनिश्चित करने के लिए कि अपडेट सफल हुआ है, Status Report पेज देखें:
/admin/reports/status

10. अब साइट को फिर से सामान्य मोड में डालें:
/admin/config/development/maintenance

11. अंत में, settings.php में जोड़ी गई लाइन को वापस बदल दें:
$settings['update_free_access'] = FALSE;
अगर आपको कोई त्रुटि या कठिनाई आती है, तो कृपया टिप्पणी में बताएं।