News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

PHP minimum versions requirements for next SMF releases

Started by Norv, April 04, 2012, 10:44:56 AM

Previous topic - Next topic

Norv

Hey all,

I know we're been talking here or there about SMF requirements for next versions. Here it is, for you to know, how we're looking at it and where we are, today. Please feel free to let me know what you think, any feedback and suggestions are welcome!

SMF 2.1 minimum requirement: PHP 5.1 (recommended: PHP 5.3+)
We are dropping PHP 4 support in SMF (yes, PHP 4.1.0 is still supported by SMF 2.0), and require at least PHP 5.1 for SMF 2.1.
A few benefits:

  • we are able to clean up the code, from many bits that are cluttering it, needed for the messy, old, and buggy PHP 4 and pre-PHP 5.1 platforms support
  • make use of PHP 5.1 new features, functions available, that would otherwise require workarounds
  • use a few more reliable PHP support for filesystem operations, as an example of the former
  • more secure, for all your installed sites as well as SMF

Now, the thing is, PHP 5.1 itself is an old version, long left without security support from PHP developers (PHP 5.2 even, is no longer supported for security!). However, 5.1 is enough for the goals of the 2.1 release, for all we see. SMF 2.1 is not a breakthrough of sorts, it's a cleaned up and improved 2.0. While we're adding even a few object oriented bits of code, they're very localized bits, without changing the architecture and style of the codebase - not for 2.1.

If you wish to check your PHP version on your hosting server, you may want to use:
Using phpinfo()
To check out the current requirements for SMF 1.1.16 and SMF 2.0, you may want to see:
Requirements and recommendations

SMF 3.0 minimum requirement: PHP 5.3+ (recommended: 5.4+)
While the first is not likely to raise significant issues at this time, this one is somehow different, and I will ask for your attention, feedback, and help, now, and in time, for us to know:
For SMF 3.0, we are starting off with PHP 5.3 as minimum required PHP version: the current *old stable* PHP major version. (the current stable is 5.4). This will have a long array of benefits, most notably enable us to build SMF 3.0 as an object oriented forum platform, easily extensible and taking advantage of PHP 5.3 features and functionalities for a simple, clean, codebase, on par with good methologies and practices for web development.
I will note, however, that at this time, last statistics I saw show PHP 5.2 used on a large number of servers, with 5.3 coming along in time, although we don't know how many of them are shared hosts used by SMF admins, or servers used by SMF sites. Also, I expect this will continue to change in the next year, specially since, I will note again: 5.2 is no longer in active security support by PHP, and it is unfortunate to see servers running unsecure and likely buggy PHP versions. It exposes them to security issues, and your site with them. Which is why I would strongly recommend to check up with your host regarding upgrading their PHP, to avoid issues on their server, no matter what version of SMF you're using. In 1-1.5 years, I expect that PHP 5.3 support to become (truly) widespread. (I would hope 5.4 would, but that one likely won't. :D)


I intend to keep an eye on this, and on your reports. We have some statistics of SMF installations, but they're not accurate enough for us to be sure what are our users currently running. The main point is simple: we want SMF to evolve, to be able to build it on current platforms, for you to be able to take advantage of its features on a secure and reliable platform to run it on. It all comes down to:
  • we are going to support SMF on older platforms for as long as there is a need for them in the SMF community (SMF 1.1.x runs on PHP 4, SMF 2.0 runs on PHP 4.1.0, for SMF 2.1, PHP 5.1). So if you cannot upgrade at some point to a future major/minor SMF version, you can use older versions: we're supporting them for security at least, for as long as needed.
  • in the same time, trying too much to support platforms no longer supported by their makers, would mean doing so at the expense of users sites security and reliability,
  • and it would keep SMF codebase without significant improvements in terms of extensibility, easiness to build on, reliability, to enumerate just a few.
Which is why we're looking to gradually switch to better platforms and take advantage of newer and better web technologies and programming paradigms and practices. But, we need you to be with us on this, if you're willing to: to try to keep your server at the very least on the currently supported platforms, to tell us your needs and thoughts, to ask your host to upgrade if they're still running unsecure PHP versions, to inform yourself and think about your hosting plans starting as soon as it is convenient for you to do so: there are many hosts on 5.3 already (although, SMF 3.0 is more than an year down the road likely, and for 2.1 please see above), so that we're all able to move forward.

At the end of the day, I've said it before, allow me to say it again: SMF developers are not building SMF only for ourselves, but for our users and our community. And it's up to you to tell us your needs, possibilities, and thoughts, and it's up to you to help us know how far we can go in the direction of a better software, that is serving your needs as it should.

Please, do let us know your thoughts on these plans. Any feedback, information, and suggestions, are most welcome.
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

ziycon

Glad to see the decision to step away from older versions of PHP and to take advantage of the newer functionality that newer releases of PHP have to offer. :D

Joshua Dickerson

Norv, can you post a link to this in the Developer Blog board to get it more attention?
Come work with me at Promenade Group



Need help? See the wiki. Want to help SMF? See the wiki!

Did you know you can help develop SMF? See us on Github.

How have you bettered the world today?

Norv

Noted.
I'm going to post a few simplified notes, and point to this topic. (which expands more :) )
To-do lists are for deferral. The more things you write down the later they're done... until you have 100s of lists of things you don't do.

File a security report | Developers' Blog | Bug Tracker


Also known as Norv on D* | Norv N. on G+ | Norv on Github

live627


Fustrate

$smcFunc won't exist in 3.0, I know that for sure. Not sure what's been done or going to be done on that front in 2.1.
Steven Hoffman
Former Team Member, 2009-2012

Angelina Belle

Of course, you could call the instantiated object smcFunc, just for old time's sake.
Never attribute to malice that which is adequately explained by stupidity. -- Hanlon's Razor

movierchives

My paid host is "client version: 5.0.91" while the free host I use has 5.5  ???

青山 素子

Quote from: movierchives on April 12, 2012, 12:35:24 PM
My paid host is "client version: 5.0.91" while the free host I use has 5.5  ???

That 5.0.91 is the version of MySQL in use, not PHP.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


Fustrate

(Ninja'd by Motoko :P) I doubt they're really using PHP 5.5, since it's not even in beta yet... are you sure you aren't checking MySQL?
Steven Hoffman
Former Team Member, 2009-2012

青山 素子

Yeah, look carefully at the URL there, it's MySQL.
Motoko-chan
Director, Simple Machines

Note: Unless otherwise stated, my posts are not representative of any official position or opinion of Simple Machines.


Robert.

I'm sorry for missing this topic, but great news, team :)

Advertisement: