This site has been archived. To learn more about our current products Ibexa Content, Ibexa Experience, Ibexa Commerce head over to the Ibexa Developer Portal

eZ Community » Forums » Install & configuration » Migration & Upgrade at the same time.

Migration & Upgrade at the same time.

Migration & Upgrade at the same time.

Friday 14 December 2012 6:18:11 pm - 30 replies

Hi everyone would be very glad of some input here.

I have to migrate an eZ 3.5.1 on one Apache server running php 4.x to a new commercial Apache server which supports 4.7 and of course php 5.2

The site has many document pdf's that are made available on on payment for download.

What I need is a strategy of how to start and proceed!

Many thanks for any help here.


Friday 14 December 2012 6:49:53 pm

Hi Keith.

Since I've started working for Lagardère, we've had several migrations already and we've come up with a strategy that works for us.

If you can afford it (and I assume you can because your "old" and your new servers seem to be different machines), you can duplicate your content from one server to the other and work from there for your new eZ Publish instance. When your new instance is set up and running, you simply switch the DNS to your new server.

Basically, what we do is :

- make a copy of the production database to the new database server
- upgrade the fresh copy with the migration scripts (one at a time)
- install the new instance of eZ Publish on the new server
- work on your designs and extensions
- test
- if successful, switch DNS so that your domain points to your new server

It works for us, we started with eZ 3.9 but I can't guarantee it will for you. If I'm not mistaken, there is a huge compatibility gap between 3.6 and 3.7 (or is it between 3.5 and 3.6 ?).

Check if you can upgrade from 3.5 up to 4.7 before trying to make sure. It would be stupid to waste time trying to make a cat bark blunk.gif Emoticon

Young Sun

Friday 14 December 2012 11:17:03 pm

Take a look at

You'll have to set up two environments.  One with php4 and one with php5.  You'll have to download and set up ezpublish versions 3.6, 3.8, 3.9 and 3.10 on the php4 machine.  On the php5 machine you'll have to set up 4.0, 4.3, 4.5... then I'm not sure... I actually upgraded some sites from 3.5.1 to 4.1 using this script.  Pretty much everything after that is from upgrades from 4.x to 4.x.

Edit: changed file to where it is on github.

Modified on Tuesday 05 February 2013 7:03:18 pm by Steven E Bailey

Sunday 16 December 2012 3:27:52 pm

Hi Steve and Young

Many thanks for this, very helpful.

Steven, are you saying that earlier 3.x database update scripts are PHP 4 only and so won't run properly on the new PHP 5 server ?


Sunday 16 December 2012 5:35:31 pm

Hi Keith - yes, that's what I'm saying, up until 4.0, ezpublish would only run on php4, so to upgrade to 3.10, you'll have to do that on a php4 machine (or the machine where your 3.5 version is sitting - but set up a debug version).

What I've done in the past is set up multiple versions of ezpublish all pointing to the same database with symbolic links to the same var/settings directory and the convert script I linked to.  You don't have to do all of releases, but if you look at that script I have the essential in-between steps - 3.52, 3.6, 3.8 and 3.10.

I would then run one-by-one through each of the steps until I got to where I wanted to go.  The 3.10 and 4.0 versions where the same, except one was php4 and the other was php5... so at that point set up the same thing - different installations of the versions linked to the same var and settings directories.

I would set it up so that I could run through it a few times to make sure that at the end the right stuff came out.  Rsync the var/<vardir>/storage directory to the php5 machine every time.

You should look closely at the changelogs to - if you have multi-lingual sites you'll have to add language settings - I can't remember any other settings that have to change or any other additions... you'll probably find them the hard way.

Actually, come to think of it, the script I linked to might not work with the earlier versions since I don't think the eZPublishSDK library existed yet - if that's the case, let me know and I'll dig up an earlier version where the database passwords and siteaccess names were hard-coded.

BTW - one thing to look out for is custom extensions - if you have custom extensions, you'll have to do rewrites to get them to work with php5 and the newer versions of the ezpublish functions - like changing all the includes to just include autoload.php, i18n calls, and template::factory...

Tuesday 18 December 2012 4:47:08 pm

Steven that is very useful again. It could be handy if you could dig out those scripts that you mention, this looks like a job where pain reduction is a must!


Tuesday 05 February 2013 7:04:49 pm

Hi Keith,

This is probably too late for you but I finally got around to getting the earlier versions sorted out and I put them on github:

Wednesday 06 February 2013 1:53:43 pm

Many thanks Steven, not to late as this has had to be delayed.


Friday 15 February 2013 2:35:27 pm

Hello Steven,

Thanks for your help!

I saw the file on the github and I also read all the comments made on ez forum. If you see on line number 84 of this script which says

"mysql -u $user --password=$password $db < update/database/mysql/3.5/dbupdate-3.5.1-to-3.5.2.sql|egrep -v "Warning|Notice"

You will notice the path "Update/database......". Here I would like to mention that I do not have 3.5 directory and its contents. Without having these files I am not able to upgrade the version of ez publishing.

Can you please provide me the files from version 3.5.1 to 3.10. if you have those files can you please upload it on Github?



Monday 18 February 2013 8:43:23 am

Hi Prashant - if you need these files I'll be happy to send them to you (message me or go to my contact page) - but to put them in a repo doesn't seem like a good idea... that should be here - I think whatever problems there are with the download page will be fixed in due time...

Tuesday 19 February 2013 2:00:05 pm

Hi Steven
I want to upgrade Ez publish 3.5.1 to 4.7.0 and for that I have made a fresh installation of 4.7.0 and then pick the db of older version of running site (3.5.1) and then I run db update queries on that one by one up to newer version then try to connect this resultant db with the newer version.
I got nothing is working all the pages of sites are not showing data in front-end and admin shows “Object is unavailable” .

In admin I am only able to view  Setup,ez-tags otherwise all pages showing “Object is unavailable” .


After debug mode on I tried run queries and they are resulting 0 records.
Please guide me what may be the issues or this upgrading approach works or not.

Modified on Tuesday 19 February 2013 2:40:04 pm by Prashant Sharma

Wednesday 20 February 2013 8:09:43 am

Hi Prashant - you're doing this all on one machine? That's not going to work - the 3.x eZPublish is using php4 and the 4.x series is using php5.  I guess you didn't run the upgrade scripts?   Otherwise it would've spewed a bunch of errors.

What you need to do is upgrade to 3.10 on a machine running php4 (and do a bit of testing at that point to make sure it works).   3.10 is functionally equivalent to 4.0 (if I remember correctly), it's just running on php5 instead of php4.

At that point you have to copy you site to a machine running php5 (or upgrade to php5 - but that is much more difficult since you'll want to run through this several times to iron out the bugs and its difficult to upgrade and downgrade every time), and then do the upgrade to 4.7.0.

You'll also have to (probably) make changes to settings along the way and upgrade the extensions too.

And if you have custom extensions, you'll probably have to modify the to work too. 

Wednesday 20 February 2013 1:07:46 pm

Hi Steven
I have picked a text from site and searched it in my site database and files, but I did not get any result. Is ez publish stores data in encrypted form or in any other way.
I want to know how this ez publish stores data in tables.
Or any link or doc where I can get the storage functionality of ez publish.

Modified on Wednesday 20 February 2013 1:08:18 pm by Prashant Sharma

Wednesday 20 February 2013 3:21:07 pm

Hi Steven
For upgrade process I need to download versions from from 3.5.2 to 4.7.0 but available downloads are from 4.0.7 so please provide any links from where I can download these versions for download.

Wednesday 20 February 2013 9:03:22 pm

O.k. - until the 3.x archive is restored, I uploaded them here:







Edit: fixed 3.8 link

Modified on Thursday 21 February 2013 8:37:38 am by Steven E Bailey

Thursday 21 February 2013 7:34:33 am

Hi Steven 
Thanks for providing download links. But here link "ezpublish-3.8.0-gpl.tar.gz" is not working.
In your older post you told  essential in-between steps - 3.5.2, 3.6, 3.8 and 3.10. and links provided for download from version 3.5.4 so is it possible to upgrade 3.5.1 to 3.5.4, 3.5.4 to 3.6.0, 3.6 to 3.8 and 3.8 to 3.10 otherwise please provide me link for download version 3.5.2.
As our current running version of site is 3.5.1.

Thursday 21 February 2013 8:43:37 am

Hi Prashant, I fixed the 3.8 link.  I'm pretty sure you can upgrade to the interim releases just using the scripts in the 3.10 release - I'm not 100% sure since it has been a while since I did this.

You should be able to figure out what to do.

Friday 01 March 2013 2:47:40 pm

Hi Steven,

Thanks for your support so far.

Can you please share the link to download ezpublish-3.5.2 as from this version I can upgrade directly 3.6.0 and then further versions.

Please suggest me as I have upgraded from 3.5.1 to 3.5.4 but I have stuck here as I didn't found any way to go on 3.6.0 from here.

Thanks in advanced.

Saturday 02 March 2013 9:31:31 am

Hi Prashant - you don't need 3.5.2 or 3.5.4 for that matter - you also don't need to upgrade to 3.5.4 you can go from 3.5.2 to 3.6 all from the 3.6 release.  If you are already on 3.5.4 then you should be able to go to 3.6 with the same upto36 function - at the most you should get mysql errors that things already exist.

Saturday 02 March 2013 10:18:08 am

BTW, it looks like the 3.x releases are already on github:

Wednesday 13 March 2013 10:09:04 am

Hi Steven,

Thanks for your help.

I have successfully updated the script up to 3.6.0 but when I have upgrade it from 3.6.0 to 3.8.0 then I get the error as below:

Error kernel (3)
Object is unavailable

and In admin I have facing the below error:


The requested page could not be displayed. (3)
The requested object is not available.
Possible reasons:
    The ID number of the object is incorrect. Please check the URL for spelling mistakes.
    The object is no longer available.


Can you please guide me an appropriate solution for that.


Thanks again for your help so far.


You must be logged in to post messages in this topic!

36 542 Users on board!

Forums menu

Proudly Developed with from