Re: PHP 5.3.1 reference parameter regression
| From: | Keisial | Date: | Sat, 12 Dec 2009 17:08:44 +0000 |
| Subject: | Re: PHP 5.3.1 reference parameter regression | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-46403@lists.php.net to get a copy of this message | ||
Tim Starling wrote:
> Since 5.3.1 it's impossible to have a reference parameter passed to a
> __call() function.
> This change causes bugs in MediaWiki, where an attempt by a proxy object
> to pass a call through to a function that accepts reference parameters
> will always fail, due to the exacerbating change made to reference
> argument semantics in PHP 5.3.0.
>
> If we want MediaWiki to support PHP 5.3.1, we'll have to do some major
> changes, like abandoning __call entirely, or rewriting all the relevant
> interfaces to not use reference parameters. I'm not too keen about doing
> this without getting some indication from the PHP dev team as to whether
> this change is permanent or whether it will be fixed in an imminent PHP
> 5.3.2 release. If it's going to be fixed soon, we can just blacklist PHP
> 5.3.1 in our installer.
>
> I've tried emailing stas but I didn't get a reply.
>
> -- Tim Starling
It's also broken in PHP 5.2.11 and 5.2.12 RC4. Works in 5.2.10 and
5.2.11RC1.
Whatever change broke it, was backported and got into 5.2.11RC2.
PS: Did mediawiki opt-out for release candidate announcements? It didn't
receive emails about RCs
for 5.2.12 branch.