2.11.9 User Guide

Retired Documentation

You are using the documentation for version 2.11.9. Go here for the latest version or check here for your available upgrades to the latest version.

Updating ExpressionEngine 2

This guide will help you update your site from a previous version of ExpressionEngine 2 to the latest version of ExpressionEngine 2.


If you are upgrading from ExpressionEngine 1 to ExpressionEngine 2, see Upgrading from ExpressionEngine 1.

1. Prepare and Back-up

  1. Download the most recent release of ExpressionEngine (either ExpressionEngine Core or the standard edition, whichever your site is currently running) and unzip the files to a folder on your computer.

  2. In your ExpressionEngine Control Panel, go to Tools ‣ Data ‣ Clear Caching. Select All Caches and click Submit.

  3. Back-up your ExpressionEngine database.

  4. Back-up all your ExpressionEngine files and directories:

    Find these files and directories and add _old to the name:

    • Rename admin.php to admin.php_old
    • Rename index.php to index.php_old
    • Rename system/ to system_old/
    • Rename themes/ to themes_old/
  5. We strongly encourage taking your site offline for the duration of the update so that people visiting your site won’t see any PHP errors or other anomalies that may occur while you are uploading files:

    1. Copy system_old/expressionengine/utilities/offline.html to your web root directory (the same place you have your main index.php file).
    2. Rename offline.html to index.html. Now your visitors will see the “offline” page while you update your site.

2. Upload New Files

Using your favorite FTP client, upload these files and directories to your server:

  • admin.php
  • index.php
  • system/
  • themes/

During this step, you should also upload the most recent version of all add-ons installed in your ExpressionEngine installation. Consult the documentation for each add-on for any particular steps necessary to upgrade that add-on.


If you have Discussion Forum or Multiple Site Manager installed, be sure to update them to the latest versions whenever you update ExpressionEngine.

3. Restore From Backup

  1. Restore these files from your backup:
    • Copy system_old/expressionengine/config/config.php to system/expressionengine/config/
    • Copy system_old/expressionengine/config/database.php to system/expressionengine/config/
  2. Restore these directories from your backup:
    • Copy all non-English language files from system_old/expressionengine/language/ to system/expressionengine/language/
    • Copy all files and directories from system_old/expressionengine/third_party/ to system/expressionengine/third_party/
    • Copy all files and directories from system_old/expressionengine/templates/ to system/expressionengine/templates/
    • Copy all files and directories from themes_old/third_party/ to themes/third_party/

4. Restore File Changes

Restore any modifications made to these files, such as updating the system directory name or path:

  • admin.php
  • index.php


If you are using Multiple Site Manager, the same should be done for each MSM site’s index.php and admin.php file.

5. Verify File Permissions


These permissions are typical for PHP-based applications running on Apache, though you may want to check with your web host to see if more restrictive permissions can be used to allow PHP to write to files and directories.

Set these files to 666:

  • system/expressionengine/config/config.php
  • system/expressionengine/config/database.php

Set these directories (and their subdirectories) to 777:

  • system/expressionengine/cache/
  • system/expressionengine/templates/
  • images/avatars/uploads/
  • images/captchas/
  • images/member_photos/
  • images/pm_attachments/
  • images/signature_attachments/
  • images/uploads/


Provide all permissions to the IIS user for these directories:

  • system/expressionengine/cache/ (and subdirectories)
  • images/avatars/uploads/
  • images/captchas/
  • images/member_photos/
  • images/pm_attachments/
  • images/signature_attachments/
  • images/uploads/

6. Run The Update Wizard

Point your browser to your Control Panel, and follow the on-screen instructions to update ExpressionEngine.

Once the Update Wizard is finished, you must remove the system/installer/ directory from your server.

7. Cleanup

  1. Remove the offline index.html file that was added to your web root in Step 1.
  2. Review the Version Notes since they outline any version-specific changes that you may need to make to your installation.

You’re Done! ExpressionEngine is now fully updated.