PHP5 support needed

Author Message

Harry van Irsel

Sunday 07 October 2007 8:22:47 am

Yesterday my webhost upgraded to PHP5.2.4.
From that moment on my site doesn't work anymore. My site ran with eZpublish 3.9.0.

As I understand the PHP5 support is in eZpublish 4.0.0.

When will the stable eZpublish 4.0.0 be released ?
Can I install the eZpublisch 4.0.0. alpha 1 release ? How stable is this alpha1 release?
How must I upgrade from 3.9.0 to 4.0.0 ?

Piotrek Karaś

Sunday 07 October 2007 9:56:35 am

Hello,

Just few tips:
http://ez.no/ezpublish/roadmap
http://ez.no/company/news/new_ez_publish_releases_include_php_5_support_and_the_ez_find_search_engine_extension

I personally wouldn't recommend installing any fresh or pre-stable versions for production purposes - not only in regard to eZ, but to any software actually. New versions of software always follow introduction of new solutions, functionalities, options. Experience shows that it is practically impossible to eliminate bugs for the moment of new version's availability. Of course, if your site is down, you still may want to calculate pros and cons ;)

When it comes to eZ Publish, since the big version indicates introduction of major change, I try to avoid anything below x.x.2-3. I would guess that it could be different with 4.x.x, since it's a PHP version port as far as I know and all known 3.10.x issue fixes should be included in 4, but I might be wrong.

--
Company: mediaSELF Sp. z o.o., http://www.mediaself.pl
eZ references: http://ez.no/partners/worldwide_partners/mediaself
eZ certified developer: http://ez.no/certification/verify/272585
eZ blog: http://ez.ryba.eu

Paul Borgermans

Sunday 07 October 2007 12:26:55 pm

Hi Harry,

The final version will be released a lot sooner than the current roadmap indicates (we will revise that soon too): rather end of October or early November. Indeed, it is basically 3.10 on PHP5, but by the final release a few more features will be added though.

There are a few issues with the alpha1 release regarding translations (basically some missing files), an alpha2 release is scheduled for next week which will contain these missing files and some more fixes. Stay tuned.

Weren't you informed by the upcoming upgrade to PHP5 by your hosting provider?

Alternatively, please make a backup of your site (including DB), and perhaps try to install the alpha1 locally over copy of your site on a test server, (basically copy over the alpha1 distro, run the upgrade sripts from 3.9.0 to 3.10.0). And report any problems you encounter (use the issue tracker), we'll provide fixes as soon as we can.

Paul

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Harry van Irsel

Wednesday 10 October 2007 9:43:15 am

Thanks Paul,

I wasn't very well informed of the upgrade by my hosting provider. In fact he had promissed me to keep one server with PHP4 running next to PHP5 so that I had time to migrate.

I've tried to install apha1 locally, but trying to run it the error.log shows a lot of messages like:

[ Oct 10 2007 18:38:27 ] [127.0.0.1] eZMySQLDB:
Connection error: 1049: Unknown database 'nextgen'
[ Oct 10 2007 18:38:33 ] [127.0.0.1] eZTemplateDesignResource::overrideArray:
Custom match file: path 'line/folder.tpl' not found in any resource. Check template settings in settings/override.ini
[ Oct 10 2007 18:38:34 ] [127.0.0.1] eZTemplateDesignResource::overrideArray, tried files:
design/standard/templates/line/folder.tpl, design/standard/override/templates/line/folder.tpl, design/admin/override/templates/line/folder.tpl, design/admin/templates/line/folder.tpl, extension/ezodf/design/standard/templates/line/folder.tpl, extension/ezodf/design/standard/override/templates/line/folder.tpl, extension/ezodf/design/admin/override/templates/line/folder.tpl, extension/ezodf/design/admin/templates/line/folder.tpl, extension/ezdhtml/design/standard/templates/line/folder.tpl, extension/ezdhtml/design/standard/override/templates/line/folder.tpl, extension/ezdhtml/design/admin/override/templates/line/folder.tpl, extension/ezdhtml/design/admin/templates/line/folder.tpl
[ Oct 10 2007 18:38:34 ] [127.0.0.1] eZTemplateDesignResource::overrideArray:
Custom match file: path 'edit/user.tpl' not found in any resource. Check template settings in settings/override.ini
[ Oct 10 2007 18:38:34 ] [127.0.0.1] eZTemplateDesignResource::overrideArray, tried files:
design/standard/templates/edit/user.tpl, design/standard/override/templates/edit/user.tpl, design/admin/override/templates/edit/user.tpl, design/admin/templates/edit/user.tpl, extension/ezodf/design/standard/templates/edit/user.tpl, extension/ezodf/design/standard/override/templates/edit/user.tpl, extension/ezodf/design/admin/override/templates/edit/user.tpl, extension/ezodf/design/admin/templates/edit/user.tpl, extension/ezdhtml/design/standard/templates/edit/user.tpl, extension/ezdhtml/design/standard/override/templates/edit/user.tpl, extension/ezdhtml/design/admin/override/templates/edit/user.tpl, extension/ezdhtml/design/admin/templates/edit/user.tpl
[ Oct 10 2007 18:38:35 ] [127.0.0.1] eZTemplateDesignResource::overrideArray:
Custom match file: path 'line/article.tpl' not found in any resource. Check template settings in settings/override.ini
[ Oct 10 2007 18:38:35 ] [127.0.0.1] eZTemplateDesignResource::overrideArray, tried files:
design/standard/templates/line/article.tpl, design/standard/override/template

and so on, and so on.......

As I look into one of the mentioned directories the file are present.

Has this something to do with earlier reported issues?

Harry van Irsel

Friday 12 October 2007 8:36:41 am

Basically got 2 errors in the error.log after migrating 3.9.0 to 4.0.0alpha1

1. eZMySQLDB: Connection error: 1049: Unknown database 'nextgen'
2. eZTemplateDesignResource::overrideArray: Custom match file: path 'line/folder.tpl' not found in any resource. Check template settings in settings/override.ini

Checked pathes and settings, everything seems to be there. Do I overlook something?

I find these errors in the error.log after I got an internal server error (HTTP-500).
So I am unable to start up my site.

Donn't know where to look anymore. Does somebody out there can give me some hints?

Help!!!!!

Paul Borgermans

Friday 12 October 2007 11:42:06 am

Hi Harry

It appears that your settings are not preserved (overwritten by the default installation), you did it the right way?Check the override directory (site.ini.apend.php) and corresponding siteaccess settings.

About the templates not found, it may well be a side effect from wrong (overwritten) settings too.

Can you look into that?

Cheers

Paul

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Harry van Irsel

Sunday 14 October 2007 2:36:10 am

Hi Paul,

checked all the settings but couldn't find anything wrong. So, I deleted everything and tried to install 4.0.0alpha1 as if this was my first install.
I expected ezPublish to start up in the setup mode but that didn't happen. Instead I also got an internal server error (HTTP-500).

Comparing some php-files (3.9.0 versus 4.0.0alpha1) I noticed that a lot of statements where set to comment.
This is also the case in the upgrade scripts which don't work unless I uncomment the statements.

Perhaps this has something to do with it?

Harry

Harry van Irsel

Tuesday 16 October 2007 1:36:50 pm

Downloaded 4.0.0alpha2. Same result. Initial install doesn't startup in setup mode. Lot of statements are also set to comment in this package.

In the mean time my site is down since 6 october.............

My hosting provider will not set my site on a dedicated server with PHP4, because other sites (which don't use eZpublish) doesn't have problems with PHP5.
I'm the only one.
My hosting provider only suggested to start rebuilding my site using another CMS, for example Joomla!

My problem is that I have multiple sites running with one eZPublish installation, but nevertheless I started to pick one of these sites to look at the impact of migrating to another CMS.
It is not the direction I want to go, but it is an alternative......

Andreas Kaiser

Tuesday 16 October 2007 4:01:37 pm

Before migrating your sites to another CMS I would search for another webhost.

Most I know have PHP4/PHP5 dual installations using one over CGI. I've never test it, but I think ez publish works on PHP4 - CGI.

I think most hosting providers using these dual configurations will support PHP4 along all 2008. So you will have plenty of time to migrate your ezp 3.x sites to 4.x

eZ Partner in Madrid (Spain)
Web: http://www.atela.net/

Harry van Irsel

Wednesday 17 October 2007 11:43:26 am

Got a little further....

Looking in the apache server log shows a lot of error messages like this:
<i>"PHP Strict Standards: Implicit cloning object of class 'eZINI' because of 'zend.ze1_compatibility_mode' in C:\\websites\\duivenalshobby\\lib\\ezutils\\classes\\ezini.php on line 1359"</i>

Looked in my php.ini file and found the "zend.ze1_compatibility_mode = On"

changing this to "zend.ze1_compatibility_mode = Off" and the above error messages where gone.

After that I got some warnings like:
<i>"Strict Standards: strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2.0/DST' instead in C:\websites\duivenalshobby\lib\ezfile\classes\ezlog.php on line 127"</i>

changed the date.timezone setting in php.ini to "Europe/Amsterdam" and also this warnings where gone.

The only error message that I got left is the next one:
<i>"Fatal error: Call to undefined function mysql_real_escape_string() in C:\websites\duivenalshobby\lib\ezdb\classes\ezmysqldb.php on line 824
Fatal error: eZ Publish did not finish its request"</i>

Harry van Irsel

Thursday 18 October 2007 11:42:15 pm

Got it running locally now!

Upgrading MySQL 4.1.9 to MySQL 5.0 solved the previous issue.

Got some minor issues with the layout of one of the sites.

Got fatal errors in the 3.10 upgrade scripts:
- updatemultioptions.php
- updatetipafriendpolicy.php
- updatevatcountries.php

Al of these scripts ends with "<i>PHP fatal error: Class 'eZxxx' not found in .....</i> where eZxxx is for instance eZCLI or eZINI.

Do I have to run these scripts? Any hints to do this?

André R.

Friday 19 October 2007 12:31:25 am

The last issue is fixed in svn, so that should work in beta1.
If you don't use those datatypes, then you don't need to run the scripts as far as I know (double check with the 3.9 -> 3.10 upgrade doc).

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Kristof Coomans

Friday 19 October 2007 12:44:52 am

Related report about mysql_real_escape_string change: http://issues.ez.no/10847

Harry, can you please post your comments on this issue, especially on which versions of PHP/MySQL the error about the missing function occurred on? Thanks!

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

Harry van Irsel

Friday 19 October 2007 4:36:32 am

Hi Kristof,

Posted the comment as you asked.

Now moved de local installation to my production site. That wasn't much of a risk because it didn't work anyhow.

Now I'm having problems with the links. Got the next error message:

<i>"Module not found The requested module Mededelingen could not be found.
Possible reasons for this are:
The module name was misspelled, try changing the URL.
The module does not exist on this site.
This site uses siteaccess matching in the URL and you did not supply one, try inserting a siteaccess name before the module in the URL .
"</i>

Tried this on my local version and there it works fine.

I will look if there is something about this in the forum.

André R.

Friday 19 October 2007 5:13:55 am

Did you clear all cache? :)

There are a couple of recent forum posts around here somewhere about moving ezp installation.

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Harry van Irsel

Friday 19 October 2007 7:54:58 am

Probably not, because after I cleared the caches most of it seems to work now.

Thanks for your hints André!

Next things left or noticed new:
1. In my production environment got the following message back again.
<i>"PHP Strict Standards: strtotime() [<a
href='function.strtotime'>function.strtotime</a>]: It is not safe to rely on
the system's timezone settings. Please use the date.timezone setting, the TZ
environment variable or the date_default_timezone_set() function. In case
you used any of those methods and you are still getting this warning, you
most likely misspelled the timezone identifier. We selected 'Europe/Berlin'
for 'CEST/2.0/DST' instead in ......."
</i>

Asked my host provider to look at the PHP.INI settings.

2. Only the menu items don't work. If I select an item I get an HTTP 404 error. (where my local test site works just fine...)

Looked into an override template (header.tpl) where for instance the next link didn't work anymore:
<td><a href={"/activiteiten"| ezurl} class="menu">Activiteiten</a></td>

Changed this in:
<td><a href={"/Activiteiten"| ezurl} class="menu">Activiteiten</a></td>

and it works again. It was the capital letter that did it. Perhaps something was overlooked in de updateniceurls.php script?
Anyway, it works now.

3. In the admin interface (setup and design) I cann't select a site, because no sites where shown in the selection box.

André R.

Friday 19 October 2007 11:47:27 am

1. yes you need to set date.timezone

2. All links that are hardcoded into you templates need to be changed like this if you change url format. May I suggest that you look into fetching your menu elementes dynamicly? Then they will always be up to date. (look in the ezwebin templates for an example)

3. Sure you dind't have problems in 3.9 as well? A setting called RelatedSiteAccessList was introduced in 3.9 for specifing related site access.

http://ez.no/doc/ez_publish/technical_manual/3_10/reference/configuration_files/site_ini/siteaccesssettings/relatedsiteaccesslist

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Harry van Irsel

Saturday 20 October 2007 4:13:52 am

1. My webhost added the date.timezone in the php.ini; problem solved
2. I will look at that. For now I changed the hardcoded parts; problem solved
3. Added the RelatedSiteAccessList and that also works; problem solved

My site is up an running now wit 4.0.0alpha2 and it looks well now.

Thanks for your help!

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.