Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Updating Drupal Core Manually

15/04/2025, by Ivan

Before You Begin

If you haven't already, it's recommended to read this overview, which outlines all available methods for updating Drupal 8.

PS: This update procedure is also covered in the Drupal User Guide.

If you've installed contributed modules with third-party dependencies via Composer, use Composer-based update methods instead. These instructions will overwrite the vendor/ directory.

Updating Drupal 8 Core

Steps for manually updating Drupal 8 core using the command line and/or a browser:

1. Backup your files and database

Make a complete backup. Save any manual edits to files like .htaccess, composer.json, or robots.txt, as they will be overwritten.

Always restore from backup if you encounter a fatal error during the update.

2. Log in to Drupal

Ensure you’re logged in with a user who has the "Administer software updates" permission.

3. Enable maintenance mode

  • Go to Administration > Configuration > Development > Maintenance mode
  • Check “Put site into maintenance mode” and click “Save configuration”

4. Delete core and vendor files

Using the command line:

cd /path/to/your/drupal/directory
rm -rf core vendor
rm -f *.* .[a-z]*

Using an FTP client:

Select and delete all top-level files (including hidden files) as well as core and vendor directories. Do not delete modules, profiles, sites, or themes.

5. Optional: Check release notes

If default.settings.php has changed, replace your current settings.php with the new one and reapply your custom settings.

  • Copy the new default.settings.php to settings.php
  • Edit the new settings.php and re-enter your database credentials and any custom settings

6. Download new core files

Using the command line:

wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz
tar zxf drupal-x.y.z.tar.gz
cd drupal-x.y.z
cp -R core vendor /path/to/your/drupal/directory
cp *.* .[a-z]* /path/to/your/drupal/directory

Using a browser and FTP:

  • Download the latest Drupal 8.x version from drupal.org
  • Extract the archive locally
  • Upload the core and vendor directories and top-level files to your site

7. Reapply manual changes

Restore custom edits to files like .htaccess, robots.txt, and composer.json if applicable.

8. Run update.php

Visit: http://www.example.com/update.php

If you can’t access update.php due to permissions:

$settings['update_free_access'] = TRUE;

Then revert the line to:

$settings['update_free_access'] = FALSE;

9. Check site status

In your admin interface, go to Administration > Reports > Status report and verify everything is working correctly.

10. Disable maintenance mode

  • Go to Administration > Configuration > Development > Maintenance mode
  • Uncheck “Put site into maintenance mode” and save

11. Clean up

rm drupal-x.y.z.tar.gz
rm -rf drupal-x.y.z/

12. Done!

You’ve successfully updated Drupal 8 core using a manual install via shell/browser 🎉

Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.