Every few months, about the time new WordPress is to be released, system requirements are again on the line and despite all discussions and facts presented by users, WordPress still maintains (the illusion) of support for PHP4, when that is far from the truth.
If you check official requirement page, you will see that you need PHP 4.3 and mySQL 4.1.2 at a very least. You need mod_rewrite installed on Apache if you want to use pretty permalinks (or some equivalent for Windows or other servers). But, it’s not that simple as they make it look like.
Hidden truth is that some WordPress features even now require PHP5 (timezone and oEmbed are most important). So, claiming that WordPress will work on PHP4 is false, because you will not be able to use everything WordPress has to offer. To make things worse, many plugins require PHP5 to work, and that include many popular plugins.
So even if you use PHP4 for your bare WordPress installation, as soon as you start adding plugins you are likely to get at least few that will not work with PHP4. Let’s face it PHP4 is dead for over two years now, not supported by PHP anymore (support ended on february 5 2008) and all major CMS platforms are either dropped support for it or will do in the near future. Except for WordPress. And as it looks right now, even next WordPress 3.1 will maintain the illusion that WordPress will work fine on PHP4.
Only the fact that some features are not working on PHP4 is enough to finally admit that supporting PHP4 still, is pointless. Main reason behind the idea is that some 10% of websites using WordPress run on PHP4. I don’t have access to that statistical data, and I imagine that is old at least a year because we got same number from Matt when WP 2.8 was released. Situation now is different, because I tried for the past week to find reputable hosting company that only offer PHP4 with no PHP5. And I couldn’t find any.
Several hosting companies are running both versions of PHP to support some old software and websites but users can switch using control panel option or simple command in HTACCESS. All this is for shared hosting, because on VPS or dedicated servers users install latest software anyway. Newer server versions like Ubuntu 8.04 or newer can’t even install PHP4 anymore (I tried on my VPS.NET server) and I don’t see anyone manually compiling it from source on new server. WordPress recommends several hosting companies and even they offer only PHP5. So, where are those 10% PHP4 WordPress websites hosted?
I had several clients that had problems with WordPress running on PHP4.4 and in only one instance I managed to fix things to make WordPress works. Problem with PHP4 settings, security issues and many other things can prove impossible to solve in many cases. One of the clients used PHP4 because he had some old server he didn’t want to reinstall or update and he was under the impression that everything was OK, and he had a hard time understanding why WordPress is claiming something that simply can’t be achieved in practical usage. And the user experience and practical side of using any system is what should count in the end, and that is clearly against PHP4.
Even if you in the end manage to install WordPress on PHP4, you will be able to run it only without plugins (or with only few plugins).
With WordPress 2.9 support for old and bad mySQL 3 is finally dropped, and for the most part there are no major (or even minor) differences in SQL specification used in mySQL4 and mySQL5. I didn’t noticed any problems with using mySQL 4 (one client has it, and it runs fine).
(Actual) System Requirements
So, here they are:
PHP version 5.0 or greater
mySQL 4.1.2 or greater
I personally would recommend this:
PHP version 5.2 or greater
mySQL 5.0 or greater
Only some hosting companies I investigated had PHP 5.1, most maintain installations with PHP 5.2.x branch, with only some offering PHP 5.3. mySQL 5 is also used much more than mySQL 4. With growing competition among hosting companies, they all try to have more current software installed, and in the future we will see mySQL 4 gone also.
OK, I didn’t planed to write so much, but there you have it. WordPress needs to drop PHP4 with WP 3.1 coming later this year, and that needs to start right now with announcements to users with information on the upgrade and anything else that will push the remaining few percents of WP users on PHP4 to switch to PHP5.