Download EE 2 Docs Download EE 1 Docs
ExpressionEngine

2.6.1 User Guide

Updating ExpressionEngine 2

This page describes the process for updating from a previous version of ExpressionEngine 2 to the latest version of ExpressionEngine 2.

Important

If you are upgrading from ExpressionEngine 1.x use the Upgrading from 1.x to ExpressionEngine 2.x instructions.

1. Prepare and Back-up

  • Back-up your ExpressionEngine database.
  • Back-up all ExpressionEngine files and folders.
  • Download the most recent release of ExpressionEngine and unzip the software to your local computer.
  • Take Your Site Offline: It is recommended that you take 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. Here is one approach:
    1. Copy system/expressionengine/utilities/offline.html to your web root folder (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.
  • In your ExpressionEngine Control Panel, go to Tools ‣ Data ‣ Clear Caching. Select All Caches and click Submit.

2. Upload New Files

Using an FTP program such as WS_FTP, SmartFTP, Transmit or Fetch, replace the following files and folders on your server with their new versions:

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

3. Restore Modified Files

Files and settings that are specific to your site should now be restored from the backup you made in Step 1.

  • Restore any modifications made to the following files, such as updating the system folder name or path:
    • admin.php
    • index.php

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

  • Restore the following files from your backup:
    • system/expressionengine/config/config.php
    • system/expressionengine/config/database.php
  • Restore the following folders from your backup:
    • system/expressionengine/language/ (if you are using a language pack or previously modified the English language files)
    • system/expressionengine/third_party/
    • system/expressionengine/templates/
    • themes/third_party/ (if it exists, and any additional third-party theme folders you had previously)

4. Verify File Permissions

The following permissions are typical for UNIX-based hosts. You may want to check with your host to see if more restrictive permissions can be used to allow PHP to write to files (666) and folders (777). On Windows servers the following will not apply, but you will need to ensure that the files and folders are writable by ExpressionEngine. You may need to contact your host for this.

  • Set the following files to 666:
    • system/expressionengine/config/config.php
    • system/expressionengine/config/database.php
  • Set the following folders to 777:
    • system/expressionengine/cache/ (and subfolders)

5. Run The Update Wizard

  • Point your browser to the URL of your admin.php file. For example: http://example.com/admin.php
  • Follow the on-screen instructions to update ExpressionEngine.
  • Once the Update Wizard is finished, remove the following folder from your server:
    • system/installer/

6. Update Add-ons

7. Additional Steps

Please review the following to determine if any additional steps need to be taken:

  • If you took your site offline in step 1 above, remove the offline file that was added to your web root.
  • The Version Notes will outline any version-specific changes that may need to be made.
  • If you’re updating from a previous version, you might need to sync your file upload directories for files to work properly.

You’re Done!

ExpressionEngine is now fully updated.

User Contributed Notes

Posted by: notacouch on 3 April 2013 3:32pm
notacouch's avatar

If you’ve replaced the default system/expressionengine/config/config.php file with, say, a bootstrap config that’s in a totally separate file then you may get into problems while upgrading, e.g. when I was going from 2.5.3 to 2.5.5 it was trying to write to the config file but could not, so it would keep looping.

I added

$config['app_version'""

to it manually so it could update the config.php, but my bootstrap still had a different value and so… it would keep looping. Changing it there allowed it to proceed from 2.5.4 to 2.5.5, but it stayed stuck in a loop. I checked the database against the changes the update files were created to make, all those adjustments had been made so I stepped up the version number in my bootstrap to 255 and finally installation was successful.

Who knows what else it would try to use the config.php for.

Posted by: EpicVoyage on 31 October 2012 1:39pm
EpicVoyage's avatar

If you find your upgrade process looping indefinitely (showing the same version number repeatedly), try disabling your browser’s cache.

Posted by: Michael C. (KKCJ) on 28 October 2012 1:04pm
no avatar

Just do yourself a favor and instead of this entire process, just purchase DevDemon’s ridiculously helpful Updater add-on (@ DevDemon / Devot:ee) and have it all done for you (I’m in no way affiliated with them - just a rabid fan). Of course, be responsible and test things before you apply them to anything important. :p

Posted by: pushloop on 1 July 2012 7:34am
pushloop's avatar

Also, don’t forget to re-install the latest version of the Multiple Sites Manager (MSM)!

http://ellislab.com/expressionengine/user-guide/cp/sites/install.html

Posted by: mark186282 on 13 June 2012 11:49am
no avatar

don’t forget (like me… as I followed the instructions step by step) to put the system back online after you have finished.  Because you are logged in as a super admin, you may be fooled into thinking that you are finished - but those who are not logged in will still see that your site is down until you bring it back online.

Posted by: John Macpherson on 9 June 2012 6:19am
John Macpherson's avatar

Giovanni, Yes you upload the installer directory, it’s not mentioned as it’s within the system directory and therefore doesn’t require to be stated. [Renaming the system directory of course.]

Posted by: giovanni on 6 June 2012 6:24pm
giovanni's avatar

Should one be uploading the Installer Dir. or not? Confusing instructions, as there non mention of having to Upload the Installer Dir in the earlier instructions of the files/dir to upload…..

You must either have an EllisLab product license and have attained a forum rank of "Lab Assistant" (50 posts) to contribute notes to the User Guide