If you have a look at [-link-] it gives you some idea of what e107 should run on however i'm fairly certain that it's out of date and propose some rewording of it. Given that it's a fairly large change for a user to make, before any changes are made I'd like to thrash them out here.
PHP: The current requirment states 4.3.0, with a recomendation of 4.4 and then another recomendation for 5+ I've been able to test down to php 4.3.9 without seeing any obvious issues. The most advance command in the source code I can see requires >= 4.3.2 (session_regenerate_id)
MySQL: Current requirment is 3.22. With a recomendation of 4.1 and then another recomendations for 5+
If we are really keen on supplying really old versions which will work i would suggest a matrix where people can look up the last version that will work of thier old installations, however there are issues and I think it's best not too.
I don't think we should add future proofing statements about choosing hosts that offer 5+
Suggested rewording:
e107 requires a web-server with:
PHP 4.4 or above MySQL 4.1 or above 20 MB of disk space
Some features require: for email functions either SMTP, PHP or Sendmail access for graphics functions either GD or Imagemagik
Or we can add the additional functions as requirements to "work correctly".
Hi Lawbringer, Great thanks for asking, any help with the wiki graciously accepted. The devs should be able to tell us what is required here for versions. Thanks Mike
In practice, what tends to happen is a version of 'feature creep'. The bulk of e107 will work on quite old versions of PHP4, but newer bits of code tend to use features which require newer versions of PHP (sometimes, when a dev's brain is on autopilot PHP5). We try and stick to features which are in PHP 4.3 as stated (or provide compatibility functions where necessary), but every so often something's going to creep in.
Given that the vast majority of e107 users appear to be on PHP5 (or have access to PHP5), any oversights in this area may not be immediately obvious.
And given that PHP4 is totally unsupported, I think a strong recommendation to avoid it in favour of PHP5 is a good idea.
Similar arguments apply for the MySQL version - we've not done a poll recently, but I would find it surprising if more than a handful of users at most were on the vintage versions.
"If we are really keen on supplying really old versions which will work i would suggest a matrix where people can look up the last version that will work of thier old installations, however there are issues and I think it's best not too.
I don't think we should add future proofing statements about choosing hosts that offer 5+"
@Lawbringer your post actually contradicts itself, however lets move on.
A 'matrix' of which version of e107 works in whatever version of PHP is, in my personal opinion, totally pointless and counter productive. There isn't an actual easily accessible link to older versions of e107 for a very good reason.
The Latest version of e107 is currently version 0.7.23 and will soon be v0.7.24.
Releases are made for various reasons, improvements, added features and Security Fixes.
The advice to ensure any site is as secure as possible is to ALWAYS use the latest release of e107 and if that doesn't work on a version of PHP which is unsupported by it's own developers, then it's time for the person who is running a site on an outdated hosting service to realise that they really do need to move on and if that involves them having to pay $ for a decent hosting account rather than a 'Free' one, then so be it.
For me the wiki should be unequivocal about this. PHP v0.5+ is the minimum requirement.
Given the length of time that php v0.5 has been around I feel that the Dev team should stop worrying about supporting anything less and adding backward compatibility (and that has nothing to do with the 'Poll')
Lawbringer was asked me earlier on IRC about the requirements section on the wiki page and quite correctly pointed out that this page [-link-] was clearly out of date. So what we are trying to establish is the correct versions to put in the page, before we just go update them. Hence I suggested this thread.
Requirements
* e107 requires a web-server with:
PHP 4.3.0 (or newer) MySQL 3.22 (or newer - 4.1 or newer recommended)
Contact your host if you're not sure if you have these installed.
A 'matrix' of which version of e107 works in whatever version of PHP is, in my personal opinion, totally pointless and counter productive. There isn't an actual easily accessible link to older versions of e107 for a very good reason.
...
The advice to ensure any site is as secure as possible is to ALWAYS use the latest release of e107...
The only time I would expect to see this (and it will happen, honest ) is when we have 0.7.x and 0.8.x both as supported versions. But, that should not be too difficult to manage.
Ok the Matrix idea got about as much love from you guys as I gave it. I think it's safe to assume that it's a dead plan.
If we take PHP as a starting point to try and narrow down the discussion.
While PHP4 isn't supported directly it IS still supported CentOS/RHEL and they will continue to do so until version 4 is EOL on the Feb 29, 2012. Personally it doesn't affect me as all but a couple of testing machines are running PHP5+ but i'm mindful that some people may not be in my posistion.
While I understand that it's easy to slip in PHP5 commands in while your coding that doesn't make it right, If we are saying that the requirments are 4.3 then IMHO everything should run on 4.3 not most of it.
It's not helped by the PHP team adding features in point releases as has happened in 4.3.x.
Whatever the dev team decide i'll throw up a test install which meets the minimum required specs to debug.
Either way, we have to decide on what we put on the wiki guidance page. How's about?
Requirements
* e107 requires a web-server with:
PHP 5.x Recommended (PHP 4.3 to be de-supported in next e107 release) MySQL 5.x Recommended (MySQL 4.x will be de-supported in next e17 release)
Contact your host if you're not sure if you have these installed.
Could we add a line along the lines of:- "some Plugins may be using features of the latest versions of PHP/MySQL, and hence may not work optimally on systems using the older versions. "
While I understand that it's easy to slip in PHP5 commands in while your coding that doesn't make it right, If we are saying that the requirments are 4.3 then IMHO everything should run on 4.3 not most of it.
I agree.
For 0.7, until advised otherwise, the minimum requirement is PHP 4.3, with a strong recommendation to use PHP5.x (I seem to remember someone who should know telling me that PHP5.0 should also be avoided, but lets not complicate things too much). For 0.8, the minimum requirement is PHP5 - probably 5.1, but we haven't finalised this yet.
As for MySQL, 3.23 should still work with 0.7, although 4.1 is the sensible minimum (first version that supports utf-8 properly, I think). Again, a recommendation to use 5.x.
PHP 5.x Recommended (PHP 4.3 to be de-supported in next e107 release) MySQL 5.x Recommended (MySQL 4.x will be de-supported in next e17 release)
Contact your host if you're not sure if you have these installed.
Mixing up the requirements and recommends isn't a good plan.
steved wrote ...
For 0.7, until advised otherwise, the minimum requirement is PHP 4.3, with a strong recommendation to use PHP5.x
Why are we recommending something that shouldn't make any difference at all?
steved wrote ...
For 0.8, the minimum requirement is PHP5 - probably 5.1, but we haven't finalised this yet.
Again IMHO we shouldn't be advising on future versions especially as there isn't any hard facts in place. Why are we not advising on version 0.9 using PHP6?
Seriously I'm looking for justification on why e107 is recommending php5. If it's for security then running version 5.0.0 will provide you less security over a maintained 4.3.9 in CentOS.
If it's for future proofing then as you already said you haven't finalised it yet so advising a user to find a host with php5+ will be useless unless he picks a higher number than you use in the future.
And it shouldn't be for features since you already said everything should work on 4.3.0.
Because some of the features of PHP 5 are useful, its almost a guarantee that in v0.8 PHP 5 will be needed. If you want a more proper implementation of OO, PHP 5 is very important. Even though lower requirements are good, it hit a point where handling legacy code when there is a better way to do things isn't worth it.
I'm not disagreeing that PHP5 isn't useful, I'm not disagreeing that e107 v0.8 will probably use it.
What I'm asking is why is it a down as a recommended requirement for e107 v0.7?
To try and future proof spec list like this is impossible. Steved already said that it's probably going to be 5.1, so for the last two years or whatever we've been handing out only partial information as we have only been recommending php5 so I'm sure many people will have a php5.0 release which will be useless when e107 v0.8 does appear, and quite possibly uses PHP5.2 and above.
Would people recommend having the exif PHP module install for when it might be used in the future?
Well if we already talking about 0.8 from SVN then they are not recommendations it's a requirements. Perhaps it's already time to split the requirements into v0.7 and v0.8.
Just with clear advise that requirements for v0.8 may change.
honestly, v0.8 isn't out and people testing should be using an up to date box. They stopped supporting PHP 4 in Gentoo... the minimum requirement is never recommended unless your looking for something extremely stable and still newer versions at least in the php 4 tree should be recommended! its just basic practice...
so no need to continue this, everyone agrees that the minimum requirements should work but past that why should people use it when PHP is open-source/free... so please, if the data is wrong in the wiki, change it otherwise, its not that big of a deal. the majority of the time you should use something newer then older.