Skip to end of metadata
Go to start of metadata

Table of content

Updating PrestaShop

New versions of PrestaShop come every few weeks. Some are major, most are minor, but they all bring a slew of innovations, improvements and bug-fixes. It is therefore highly advised to keep up with the latest version.

There are 5 steps to follow for a successful upgrade:

  1. Save and Backup Your Current Shop
    This step consists of backing up your database and your files. This step is not to be avoided, and should never ever be ignored or skipped. Do not proceed to step 2 without completing this step.
  2. Getting Ready for the New Version
    This step consists of preparing the files that you will need to copy into the new version of PrestaShop.
  3. Starting the Update
    This step consists of starting the upgrade script which will upgrade your database.
  4. QA and Testing
    This step consists of doing various checks to make sure that the store has been properly updated to the latest version.
  5. Going Live with the New Website
    This step will accompany you in going live with the latest update.

These five steps are necessary for a successful upgrade. Please pay close attention to any of them, and do not skip any steps.

Done well, the whole update process described within these pages should not take more than half an hour. Do not try to skip a step in order to be done with it faster, as all steps are crucial.

Video tutorial

Rather than read the following page, you can follow the very same steps explained in a video: Update your store to PrestaShop v. 1.4.
Plutôt que de lire ce long texte, vous pouvez suivre les explications de la vidéo suivante : Mettre à jour PrestaShop en version 1.4.

PrestaShop support

For any support request or help to setup your website, contact us and discover our support offers:

Checking the requirements for the new version

Before you do anything to your current install of PrestaShop, check that your server configuration matches or exceeds the minimum requirements for the latest version of PrestaShop. For instance, make sure your web host provides you with the required versions of PHP and MySQL. If not, ask him to update the server. If you are unsure which PHP and MySQL versions you are using, ask your web host.

If you web host won't update your server configuration, then it is time for you to find a better host. Do NOT perform an upgrade unless your server at least meets the system requirements.

The minimum requirements for the latest version of PrestaShop are available on the official PrestaShop download page.

If upgrading from a version below 1.4.x

Older versions of PrestaShop might not make it as easy to upgrade to the latest version: the code base is quite different, many files have moved around, created or deleted, and the risk is high, when skipping from a very old version to the latest one, to see errors and mistakes aplenty.

You should therefore be even more careful; the older your version, the more you should pay attention to details: backups, custom files, edited theme, etc.

Automatic upgrade

PrestaShop introduced automatic upgrade in version 1.4.4. It enables shop owners to backup and update their site in a few clicks and no technical knowledge. It is explained in full details in the User Guide's Tools chapter, in the "Upgrade" section.

If upgrading from a version between v1.3.x and v1.4.3

No version of PrestaShop supported the automatic upgrade until v1.4.4. Therefore, automatic upgrade is not available to you unless you manually upgrade to at least v1.4.4.

Manual upgrade

Step 1 – Save and Backup Your Current Store

Caution

Not backing up your store constitutes a very important risk if you encounter any difficulties with the upgrade. There is a risk of data loss.

Do not ever skip this step. Do not proceed to step 2 unless you are absolutely certain that your backups are completed, successful, and fully functional. Do check several times.

Backing Up Your Files

You must save all of the files related to your PrestaShop store.

There are two main ways of backing up your files:

  • Ask your hosting company to back up your files
    Making sure that this backup is fully functional, recent, and more importantly that it reflects the content of your current store.

...or...

  • Copy all of your files from your server to your local computer using an FTP client
    This method is only possible if your hosting provider has provided you with an FTP access to your server. Create a "Backup" folder on your computer, then, using an FTP client (such as the free FileZilla client), select all the PrestaShop files and folders on your server (use the Ctrl-A command) and copy them to your "Backup" folder.

Deactivating Your Store

Caution

Disabling your store is very important.
By doing so, you make sure that there is no activity on your store while you are updating it. Therefore, if you ever have to revert to the previous version using a backup, you won't have lost any unfinished carts or orders.

Go to your store's back-office, click on the "Preference" tab, then select "No" for the "Enable Shop" option.

In the "Maintenance IP" field, located just below the "Enable Shop" one, enter your own IP address, so that you can keep on using your store during the update. This will allow you to test the store, while still making sure visitors cannot access the website.
In order to find out your IP address, visit this page: http://www.myip.dk/

Backing Up Your Database

You must absolutely back up the whole database for your PrestaShop store.

There are three different ways to back up your database:

  • Ask you hosting provider to back up your database
    Be sure that your database backup is functional, recent, and especially that it contains all of your data for your PrestaShop Store.

...or...

  • Download a copy of your database via phpMyAdmin
    Be sure that your database backup is functional, recent, and especially that it contains all of your data for your PrestaShop Store. If your database is too big, you might receive an error. If that is the case, you will need to contact your hosting provider.

...or...

  • Download a Database Backup from your PrestaShop Back-Office
    Visit the "Tools" tab, then the "DB backup" sub-tab. This process will take between 1 and 20 minutes depending on the size of your database. Make sure this backup is functional, recent, and especially that it contains of all the data of your website. Open the zip file and make sure that there are absolutely NO ERRORS before proceeding to the next step.

Backing up Your Customized Translation

If you did not edit the available translations or add new ones (either PrestaShop's or your modules'), please proceed to step 2.

Navigate to the "Tools" tab, then the "Translations" sub-tab of your back-office.

In the section "Export a Language" select the language to which you have made any modifications, then select your current theme, and click "Export".

Save the downloaded file into a backup folder of your choice, on your local computer…

Do this for all your custom languages, both those you created/added and those you modified/corrected.

Verify your Backup folder

Does it contain...

  • ...a complete copy of all of your files?
  • ...a complete and error-less copy of your database?
  • ...a copy of your customized translations (optional)?

You have checked the entire backup folder, and made sure that they are all correct and that you would be able to return to your current version / restore all of your data.

If you answered yes to all of the questions above, then proceed to Step 2.

Step 2 - Getting Ready for the New Version

Downloading and Unzipping of the Latest PrestaShop Version

Visit http://www.prestashop.com and download the latest version of PrestaShop (click the "Download" button on the homepage).

You now should have a file: prestashop_1.x.x.zip (where "x" is a digit of the version number).

Unzip the file to your computer. If you do not yet have an unzipping tool, you can download a free one here: http://www.7-zip.org/.

Once unzipped, open the "/prestashop" folder that was inside the Zip archive.

In that "/prestashop" folder, select the "/admin" folder and rename it to something unique to you (for instance, "/admin436"). Your online store currently also has a unique "admin" folder, from its original installation; you can use that unique name if you wish. If you do not know the unique name of your online store's "/admin" folder, use whichever name you want.

Copying the files backed up during Step 1 to the "prestashop" folder

Some of the folders that you have backed up will need to be copied to your "/prestashop" folder.

Caution

You will be copying files from your "Backup" directory to the "/prestashop" directory. Answer "Yes" when the system asks you to replace the existing files.


The following folders must be copied from your backup to the recently unzipped /prestashop folder:

  • /mails folder has all the mails that you have modified.
    If you have never made any modification there, do not worry about this folder.
  • /img folder contains your logo and all the pictures of your store (categories, products…)
  • /modules folder, only copy the modules that you have added.
  • /themes/yourtheme folder, only copy your current theme. If you use the default theme from PrestaShop, do not copy it, you must use the one from the new version.
  • /download and /upload folders, which contain all the downloadable products, the attached files and the customizable products. If you do no use any of these functionalities, do not copy these folders.
  • /classes folder: in case you have added customized classes to this folder, copy them to the new /classes folder.
    In order to function properly with the latest version of PrestaShop, all these class files need to have their class name suffixed with "Core":
    • Open each and every one of the class files, and find the ones where the class name is not Core-suffixed. If you are upgrading from PrestaShop 1.4.x, you shouldn't have any (except for custom classes).
    • Rename the class name, adding the "Core" suffix. For instance, "MyClass" becomes "MyClassCore".
      Only change the name in the PHP class within file, not the name of the file itself!
    • If all the files already have "Core" in their class name (such as "class AttributeCore extends ObjectModel"), then you do not need to change anything.
    • Save the edited files.
  • /config folder, only copy the settings.inc.phpfile, then modify the following lines:
    • The line that contains "PS_BASE_URI" must contain the name of the subfolder where you are going to do your update. For instance, "/prestashop/" instead of "/", or of the name of current folder for your current store.
    • If you modified your database credentials (you should not have had to do that normally), update all the lines that contain "DB_NAME", "DB_USER" and "DB_PASSWD" too.

Moving the "prestashop" folder to your FTP server

The "prestashop" folder that you have unzipped, now contains all the modifications from your "Backup" folder (and therefore, from your current live store). This next step will have you upload that folder on your FTP server.

Caution

If the folder of your online store is already named "prestashop", rename the "prestashop" folder on your hard drive to something else before sending it onto your FTP server.

If you renamed the "prestashop" folder, do not forget to update the config/settings.inc.php file accordingly, as explained in step 2-B.

Using your FTP client, upload the "prestashop" folder to your server.

Checking before going further

Let's say your store is at the following URL: http://www.myprestashop.com.

  1. To test the update, you first downloaded the latest version of PrestaShop.
  2. You unzipped this version, which contained a folder called "prestashop".
  3. You copied your customized files from your backup to this new "prestashop" folder.
  4. You modified the file config/settings.inc.php on line "PS_BASE_URI" so that it has the name of the folder on your server (should be "prestashop").
    For instance:

    ...was replaced by...

  5. You uploaded your "prestashop" folder to your FTP server, and it can be accessed at: http://www.myprestashop.com/prestashop

Did you follow these 5 steps?

  1. Downloaded PrestaShop
  2. Unzipping the downloaded .zip file
  3. Manual copy of the folder of step 2
  4. Transfer the whole "prestashop" directory onto your FTP
  5. Edited the PS_BASE_URI line from the config/settings.inc.php file

If you answered yes to all the questions above, then proceed to step 3.

Step 3 – Starting the Update

Launching the update script

Visit your shop's install script URL; for instance: http://www.myprestashop.com/prestashop/install (Replace "myprestashop.com" with the actual URL of your store, and "prestashop" with the name of the folder that you have just transferred to your FTP).

That URL should show:

  1. Select "Update" instead of "Installation".
  2. Read the license agreement, then select the option "I agree to the above terms and conditions".
  3. Click on the "Next" button.

If you did follow the first step of this guide concerning back-ups, you can click "I certify that I backed up my database and application files. I assume all responsibility for any data loss or damage related to this upgrade."
If you did not do the required back-ups or if you did not have a chance to verify the data's integrity and that these backups are functional and recent, please go back to step 1 of this guide.

When clicking the "I certify..." checkbox, the update displays more safety instructions that you should follow. Read them carefully and follow them before you click on the "Next" button.

The parameters of your hosting provider should show on the screen, as well as more details about the operation about to be launched.

  • max_execution_time shows the maximum time in seconds authorized by your hosting provider for the update to take place. If this number is smaller than the estimated time of installation, we recommend that you notify your hosting provider so that he can increase this limit.
  • memory_limit is the maximum memory that you're hosting provider will set aside for you to complete the upgrade. If this value is smaller than "32M", you should contact your hosting company to request an increase of this value.

If any of these two parameters does not meet the requirements, you are taking the risk of receiving an error message or a blank page after clicking the "Next".

Otherwise, click the "Next" button at the bottom of the page.

Verifying all parameters before the update

If sufficient rights are assigned to your files and folders, the following page will show:

If not, make sure that the folders' rights are properly configured: change the access rights of the folders marked in red in the install/update tool, directly on your FTP server (make a CHMOD 755 or 775, depending on your hosting provider) then click the "Check my settings again" button.
In order to perform a CHMOD, using your FTP client, find the folders that have the wrong permission settings, right-click on each of them in order to display their properties (or even better, their access rights), and tick the boxes that are not yet ticked, until a refresh of the "System and Permissions" page gives you only green folder.

If the configuration validator indicates that folder that do not exist do not have the correct permission (for instance, the Smarty /cache and /compile folders), simply create these folders using your FTP client.

Once you're done, click "Next" at the bottom of the page, the update will start and probably last a few minutes.

You can check if the update has started in the upper right part of the screen, thanks to the progress bar. Do not leave the page or close your browser; wait for the update to be completed.

Finishing the update

Once the update is finished, you should see the final screen, announcing that "Your update is completed!"

On your FTP server, inside the "prestashop" folder, you should delete:

  • The /install folder (this subfolder contains the update tools).
  • The README files (contain information about the PrestaShop install).
  • The CHANGELOG file (contains information about the latest changes in PrestaShop).

You can now access your store's front-office at http://www.myprestashop.com/prestashop (change the URL accordingly).

Did you follow these 3 steps?

  1. Launched the Update tool
  2. Verified the parameters and started the update
  3. Finished the installation and removing the unneeded folders and files.

If you answered yes to all the questions above, then proceed to step 4.

Step 4 - QA and Testing

Import your Translations

If you did export your custom translations during step 1 (Backups), import them back into your new store by going to the "Tools" tab, then the "Translations" sub-tab.

Verification of the main Domain Name and regeneration of your .htaccess

You should verify that the domain name assigned in the database is indeed the one that you are working with. To do so, visit the "Preferences" tab, then the "SEO & URLs" sub-tab.

You must check the following information:

  • "PS directory": This folder should be the one that you have transferred onto your FTP server; in this tutorial, it would be /prestashop/
  • "Domain Name": This should be the domain name to which you are currently connected. Otherwise, all your links will be invalid and will use an incorrect domain name.

In any case, do not forget to regenerate your .htaccess file by going to the "Tools" tab, then "Generators". If your old .htaccess file contains specific information related to your hosting, copy/paste them into the "Specific Configuration" space provided in this same tab.

Verifying your theme's compatibility

You can verify your theme's compatibility with the updated PrestaShop version by visiting the theme validator developed by PrestaShop.

This tool is available at the following address: http://validator.prestashop.com/.

If you use an unmodified copy of the default theme of PrestaShop, this step is not necessary.

Tests to be done on your new store

To make sure that everything is working properly on your updated store, you should perform a few tests.

Testing To-Do List (this is not a complete list, you should do as much testing as possible):

  • All pages load properly (Home, Categories, Products…)
  • Create a customer account
  • Place an order (add to cart and order)
  • Verify that payments work properly (credit card, PayPal, etc.)
  • In the Back Office, check that the order was properly placed and received
  • Send an email from the contact page or "Forgot my password"
  • Check the resulting invoice
  • Check all the modules that you have activated

If every test is successful, congratulations! Proceed to step 5.

Step 5 - Going live with your Up-to-Date Store

Swapping your updated store and your production store

Congratulations, you have achieved all the essential steps to update your store!

You now need to swap your updated store with your production store.

You have two options to do so:

  • On your FTP Server, select the entire content of the "prestashop" folder and drag'n'drop it to the folder of your production store. This option is fast. If your FTP client offers to do it, ask to have it overwrite all existing files

...or...

  • You can also download you whole updated store directory ("prestashop") from the FTP server into your local computer, and then upload all the files back onto your production folder. This option will take a little bit longer, and you should again select the option to overwrite all the files.

At the end of the process, edit the file config/settings.inc.php: look for the line containing PS_BASE_URI, and replace its value (should be "/prestashop/") by "/" (or wherever your current store is at). If you don't do that, your images and theme will not appear correctly.

Activating your store

Visit the "Preference" tab in the back-office of your production (now up-to-date) store and click "Yes" for the option "Enable Shop".

In case of issues

In some rare cases, some modules are not compatible with new version of PrestaShop. You should contact the company / person that provided you with this module to request a few code changes to bring it up to date.

Rolling back your database

Only proceed to this step if you have no other way out

 

If your update went bad and you do not see any other fix than to roll back to the previous version of your database, there are two mains way of doing so:

  • Ask your hosting provider to restore the back up for you.
    Make sure to provide them with the latest backup that you have done during Step 1!

...or...

  • Import your backed up data via phpMyAdmin
    This is typically done by the database tools provided to you by your hosting provider, most often phpMyAdmin.
    You will find the backup data under the /admin/backups folder.
    If the size of your database is too big, you might encounter an error message. If so, you might need to ask your hosting provider for help by changing the size of the database maximum upload.
    You can also download the database from within your back office. Visit "Tools" then "DBBackup". Select your latest database backup and download it to your computer by clicking on it. It should typically take between 1 and 20 minutes to download.

Contact us

For any support request or help to setup your website, contact us and discover our yearly support offers.

Our support team is at your disposal for any technical detail pertaining to updating your shop to the latest PrestaShop version.

  • No labels