[TYPO3-core] PHP version requirement
Jigal van Hemert
jigal.van.hemert at typo3.org
Fri Mar 1 21:49:49 CET 2013
On 1-3-2013 15:38, Michael Stucki wrote:
> Sorry, I wasn't clear enough. Of course someone cared, which is great.
> My comment was rather meant towards your suggestion to keep the 5.3.7
> requirement (and therefore leave out Debian).
That wouldn't exactly leave out Debian. There is no hard check that
makes it impossible to install and run it on PHP < 5.3.7.
> That is even worse as it seems there is no problem at all to use it...
There is a problem with include_once() instead of relying on the
autoloader on PHP versions below 5.3.7. The Debian guys and girls
decided to do something very strange: they don't provide the original
PHP distributions but decided to make something themselves with a low
version number but which includes (many) bugfixes and possibly features
(?) from older versions.
There is no reasonable way to distinguish a Debian PHP 5.3.5 (which
actually works like a 5.3.8) from an original PHP 5.3.5.
Despite some effort to find a way to test if there was a version with or
without the bug, there was only one way to go: set the requirement to 5.3.7
If you decide to use a PHP "version" which is not an original one, but a
kind of Frankenstein version constructed from bits and pieces of various
releases, then fine but that's a chance you want to take.
> I would really like to investigate this, but as I already mentioned, I
> couldn't find any notes about it in any of the mentioned versions:
> So either the problem was fixed before or someone needs to show me the
> bug number for it.
It might have been fixed as a side effect of the bug with the
class_alias parameter hints?
I am not an expert of the PHP source code, so I can't judge this.
It was found during the tests of the namespaces operation. Some people
with older PHP 5.3 versions encountered problems with include_once calls
and parameter type hints.
The problem with the parameter type hints was solved by rewriting the
hints and caching them. The include problem couldn't be circumvented.
I didn't like the version test because of the way some Linux
distribution fiddle with PHP version numbers, but there was no way to
test for the bug.
> We are using the dotdeb packages for neos.typo3.org and I can tell you
> there were several issues when something was broken after a simple
> update. Steffen and Karsten can probably sing a nice song about it.
> Exactly because of this, admins like Debian so much on their servers.
Every new release includes new bugs too. EXT:solr also broke with an old
PHP 5.3.x update because the URL filter_var was broken when the domain
contained a '-'. It took me some time to find the cause. Luckily a newer
PHP release was available and the admins installed it.
>> we declared that we support this "version" and thus are obliged to fix
>> the bugs that were caused by Debian.
>> Maybe *you* want to support it personally; I don't.
> Sure I want as we use it in our company, just like many other companies.
No problem. Nothing prevents you from using a PHP 5.3 version below
5.3.7; the Install Tool doesn't block it or doesn't complain. It's just
not a version I think we should actively support. The original PHP
version has known problems and there is no way to see if it is a patched
There is a similar situation with MySQL 5.0. The requirement for TYPO3
6.0 is MySQL 5.1-5.5. There are no known problems with 5.0, but there
was no known OS that still shipped MySQL 5.0 with its current releases.
There's no use supporting this, even though there's no known problem.
Still, it's even better to use PHP 5.4.x if you want a bit extra
performance, less memory use, etc. I guess admins like that too :-)
Jigal van Hemert
TYPO3 Core Team member
TYPO3 .... inspiring people to share!
Get involved: typo3.org
More information about the TYPO3-team-core