Path / documentation / ez publish / upgrading / upgrading to 3.5 / from 3.5.x to 3.5.y

Caution: This documentation is for eZ Publish legacy, from version 3.x to 5.x.
For 5.x documentation covering Platform see eZ Documentation Center, for difference between legacy and Platform see 5.x Architecture overview.

from 3.5.x to 3.5.y

This section describes how to upgrade your existing eZ publish 3.5.x installation to version 3.5.y, for example from 3.5.0 to 3.5.11. If you are upgrading from a version prior to eZ publish 3.5.0, you should first upgrade to 3.5.0 as described here.

Please make sure that you have a working backup of the site before you do the actual upgrade. The upgrade procedure consists of the following steps:

  1. Upgrading the distribution files to 3.5.11
  2. Upgrading the database to 3.5.11
  3. Running the system upgrade scripts
  4. Updating the system configuration
  5. Clearing the caches

Step 1: Upgrading the distribution files

The easiest way to upgrade the distribution files is to unpack eZ publish 3.5.11 to a directory and then copy the directories that contain site-specific files from the existing installation. Make sure that you copy the following directories:

  • design/example
  • design/example_admin
  • var
  • settings/siteaccess
  • settings/override

Replace "example" and "example_admin" with actual names used by your siteaccesses.

Custom extensions

If you are using custom extensions then the subdirectories inside the "extension" directory will also have to be copied. However, make sure that you do not overwrite any extensions that come with eZ publish (for example the "PayPal" extension).

Step 2: Upgrading the database

To upgrade 3.5.0 database to 3.5.11, you should navigate into the eZ publish 3.5.11 directory and run the following database upgrade scripts one after another:

  1. dbupdate-3.5.0-to-3.5.1.sql
  2. dbupdate-3.5.1-to-3.5.2.sql
  3. dbupdate-3.5.2-to-3.5.3.sql
  4. dbupdate-3.5.3-to-3.5.4.sql
  5. dbupdate-3.5.4-to-3.5.5.sql
  6. dbupdate-3.5.5-to-3.5.6.sql
  7. dbupdate-3.5.6-to-3.5.7.sql
  8. dbupdate-3.5.7-to-3.5.8.sql
  9. dbupdate-3.5.8-to-3.5.9.sql
  10. dbupdate-3.5.9-to-3.5.10.sql
  11. dbupdate-3.5.10-to-3.5.11.sql


The database upgrade scripts are located in the "update/database/mysql/3.5/" directory of your eZ publish installation. Each of these scripts can be launched using the following shell command:

mysql -u <username> -p<password> <database> < update/database/mysql/3.5/dbupdate-3.5.x-to-3.5.y.sql


The database upgrade scripts are located in the "update/database/postgresql/3.5/" directory of your eZ publish installation. Each of these scripts can be launched using the following shell command:

psql -d <database> -U <dbowner> < update/database/postgresql/3.5/dbupdate-3.5.x-to-3.5.y.sql

Step 3: Running the system upgrade scripts

Top level nodes/objects changes

In eZ publish 3.5.1, a new top level node/object called "Design" has been added. You need to run the "updatetoplevel.php" script for your admin siteaccess in order to make sure that all your top level nodes are properly configured (replace "example_admin" with the actual name of your admin siteaccess):

./update/common/scripts/updatetoplevel.php -s example_admin

The script will check the top level nodes and match them with the values defined in the "menu.ini" configuration file or its override. If "menu.ini" or its override contains incorrect information about the top level nodes, it will be automatically updated. If some of the top level nodes are missing, these will be created. (Please note that this script has been improved in eZ publish 3.5.2. If you are upgrading to a version prior to 3.5.2, it is recommended to copy the script from 3.5.2.)

Converting the "eztime" attributes

In eZ publish 3.5.3, the "Time" datatype has been modified in order to make it possible to interpret the value of hours and minutes properly and independently from DST and GMT transformations (see the feature doc for more information). You need to run the "updateeztimetype.php" script in order to convert the attributes of the "eztime" datatype from GMT to the server local time (replace "example" with the name of the siteaccess):

./update/common/scripts/updateeztimetype.php -s example

Please note that it is recommended to create a database backup before using this script. The script must be run for each siteaccess.

Changes related to 32bit/64bit compatibility

Since some PHP functions (like crc32 and ip2long) work in different ways on 64bit and 32bit servers, changes have been made in eZ publish 3.5.8 in order to avoid problems when migrating from 32bit to 64bit architecture. You need to run the "updatecrc32.php" script when upgrading even if you don't have a 64bit machine:



The script will update old signed to unsigned values in the database. It is also recommended to specify "64bitCompatibilityMode=enabled" in your "site.ini.append.php" configuration file.

Step 4: Updating the system configuration

You are not required to do any configuration changes when upgrading from 3.5.x to 3.5.y. However, it is recommended to specify "64bitCompatibilityMode=enabled" in your "site.ini.append.php" configuration file after running the "updatecrc32.php" script.

Step 5: Clearing the caches

Whenever an eZ publish solution is upgraded, all caches must be cleared in a proper way. This should be done from within a system shell:

  1. Navigate into the eZ publish 3.5.11 directory.
  2. Run the clear cache script:
    bin/shell/ --clear-all

Please make sure that all caches are cleared. Sometimes the script is unable to clear caches because of restrictive file/directory permission settings. Make sure that all caches have been cleared by inspecting the contents of the various cache subdirectories within the "var" directory.

Svitlana Shatokhina (13/09/2006 8:19 am)

Julia Shymova (14/09/2007 11:00 am)

Svitlana Shatokhina, Julia Shymova


There are no comments.