Forums / Developer / How will 3.5/3.6 behave on PHP 4.4

How will 3.5/3.6 behave on PHP 4.4

Author Message

Eirik Alfstad Johansen

Thursday 16 March 2006 5:59:06 am

Hi,

According to http://ez.no/download/ez_publish, one "can not use eZ publish 3.5 or 3.6 with PHP 4.4". However, it doesn't say anything about why that is. The reason I'm asking is because I wonder what would happen if we were to upgrade PHP to 4.4 on a server running several 3.5/3.6 installations.

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Kåre Køhler Høvik

Thursday 16 March 2006 6:44:44 am

eZ publish will at best crash randomly ( very often ), and at worst not work at all. This depends a bit on what functionality you're using in eZ publish.

Kåre Høvik

Frederik Holljen

Thursday 16 March 2006 6:56:48 am

This is due to the difference in how PHP 4.3 and PHP 4.4 handle references.

Betsy Gamrat

Thursday 16 March 2006 6:57:20 am

Upgrade eZ to work with PHP 4.4.

The upgrade from 3.4 to 3.7 was very smooth. These are the steps I used. The first time it took about 10 hours (complex sites), the next time it took 2.

Create database
Copy database from live site
Install eZ
Use eZ upgrade tool and phpMyAdmin to synchronize the old data to the new database structure
Manually set the "container" flag on the custom classes and folders for the system
Copy the templates from the live site, change ownership and permissions as necessary
Update override.ini manually
Update template priorities
Copy the stylesheets
Integrate new CMS into existing site

Eirik Alfstad Johansen

Thursday 16 March 2006 7:44:56 am

I'm fairly familiar with upgrading eZP sites, but I can't say I'm too eager to get started on a server with 30+ eZP installations. Also, I'm not sure how to go about it as 3.6 doesn't work with 4.4 and 3.7 doesn't work with 4.3, meaning I don't know where in the process I would upgrade the PHP version.

There doesn't seem to be any way of doing this except to take down the server, and that's unacceptable (or set up a separate server with 4.4. and set up the 3.7 versions there). Surely eZ Systems must have run into this sort of problem already?

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Betsy Gamrat

Thursday 16 March 2006 9:37:32 am

What about running a second version of PHP on the same server? I don't know if it can be done - but if you had PHP 4.4 handle file requests with the extension .php4 - it may be able to coexist with your existing systems.

There is obviously some risk to this approach and it would require excellent system and server admin skills. In addition, all the files would have to be renamed to .php4, and all file references (includes and requires) would have to use .php4. After the upgrade is completed, the files could be renamed back to .php - or the upgraded PHP could just be allowed to handle .php requests as well as .php4.

If you are willing to invest in some supporting shell scripts, you may be able to port over your systems quite quickly.

Xavier Dutoit

Friday 17 March 2006 12:39:30 pm

One of my client where hosted on a server that upgraded from 4.3 to 4.4 I had to rush and update ez because they had lovely warning messages on their home page.

Bottom line: painful, even more if you have to do that in a rush ;)

Otherwise, I'm developing sites using either php 4.4+ez 3.7 or 4.3 and ez 3.6. you can reuse the same layout without any problem. The only naughty part is the database and mysql support of utf8 being quite different.

I suggest to install a test machine and see how it behaves. Good luck.

X+

http://www.sydesy.com

Eirik Alfstad Johansen

Saturday 18 March 2006 4:19:46 am

This also poses a new question. Which will be the first eZP version to support PHP 5 (3.8, 3.9 or 3.10)? If PHP 5 support is planned for the neat future, it might be an idea to skip an upgrade to 4.4.

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Lazaro Ferreira

Saturday 18 March 2006 7:52:29 am

Hi,

I think PHP 5+ support goes for EZP 4

Am I wrong ?

Lazaro
http://www.mzbusiness.com

Eirik Alfstad Johansen

Saturday 18 March 2006 8:03:27 am

According to what I've read (http://ez.no/community/developer/roadmap), 4.0 will be based on PHP 6.

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Lazaro Ferreira

Saturday 18 March 2006 9:43:27 am

That's what I said 5+, include 6, and so on

If we agree that EZP4 will be based on EZ Components , and EZ Components was developed in PHP 5.1, then none EZP3.x, version should be available for PHP 5+

Lazaro
http://www.mzbusiness.com

Kåre Køhler Høvik

Monday 20 March 2006 2:30:31 am

Hi

For eZ publish 4.0 release, please see our roadmap:
http://ez.no/community/developer/roadmap

The 3.x series will be the main eZ publish version for a long time still.

Here's an article Derick wrote on how to run multiple Apache installations ( ex: php4.3 and php4.4 ) on the same server : http://ez.no/community/articles/multiple_apache_installations_howto

Kåre Høvik

Eirik Alfstad Johansen

Wednesday 22 March 2006 4:08:47 am

Hi guys,

I'm not abandoning this issue quite yet. :)

What the reason why eZP 3.7 can not be backwards compatible with PHP 4.3?

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Kåre Køhler Høvik

Wednesday 22 March 2006 4:26:22 am

In PHP 4.3 there where some reference issues/bugs which meant we had to create workarounds in eZ publish. These bugs where fixed in PHP4.4, but our workarounds caused eZ publish to crash badly when using 4.4.

To clean up this mess, we went through all the code, reverted the workarounds, and generally cleaned up the code. Since the workarounds are removed, eZ 3.7 will not work on PHP4.3.

Kåre Høvik

Eirik Alfstad Johansen

Wednesday 22 March 2006 4:59:46 am

Hi Kåre,

I can see from your answer that I asked the wrong question, so I'll make another go:

Could not eZP 3.7 have been made compatible with 4.3 (I'm finding it difficult to belive that a piece of PHP software can only be made compatible with one or the other)? And will there be made any effort to make the rest of the 3. series (3.8 - 3.10) compatible with 4.3?

Sincerely,

Eirik Alfstad Johansen
http://www.netmaking.no/

Betsy Gamrat

Wednesday 22 March 2006 6:09:02 am

Some hosting companies upgrade from PHP 4.3 to PHP 4.4 for improved security, and they will not downgrade.

If you have alot of eZ sites that need to be upgraded, the best solution is probably to run two servers and transition the sites over one by one, then release the old server when the transition is done.

An upgrade (installing a clean version eZ 3.7.3, putting a 3.4 database under it, and using only the Database sync check to migrate the data), and manually copying the templates, ini settings, and images from 3.4 to 3.7 only takes about 2 hours per installation (and these were fairly complex sites).

The additional server cost will probably reduce the time required to do the upgrades, and often a fresh installation is a great way to clean up a server, and upgrade all the system software - safely.

Another thread in the forum describes how to suppress the warning messages that result from running older versions of eZ on PHP 4.4 - but eZ may not run well.

I don't think it is a good idea to invest in making eZ 3.7 compatible with PHP 4.3. After all, a valid solution could also be to simply not upgrade eZ and PHP.

You have a big project ahead of you, no matter how you choose to do it. Good luck, and keep posting - because I'm sure there are many people with the same concerns.

Kåre Køhler Høvik

Thursday 23 March 2006 1:21:35 am

Hi

We did consider making future releases of eZ publish working on both PHP4.3, and PHP4.4, but it would result in an unstable system om both platforms.

As mentioned, running 2 servers, or 2 installations of Apache on one server is an easy way to migrate from 3.x to 3.7.

Kåre Høvik