On Sat, Oct 10, 2009 at 12:38 AM, Micke Nordin mickewiki@gmail.com wrote:
I have a bug report for a user of my Google Wave extension:
http://www.mediawiki.org/wiki/Extension:GoogleWave
http://code.google.com/p/micke/source/browse/GoogleWave/GoogleWave.php (source)
It seems Parser.php sends the parser object to my function as a value($parser) rather than as a reference (&$parser):
[Tue Oct 06 16:57:53 2009] [error] [client x.x.x.x.] PHP Warning: Parameter 3 to waveRender() expected to be a reference, value given in C:\Apache2.2\htdocs\mediawiki\includes\parser\Parser.php on line 3243, referer: ...
Why is this? I don't get an error like this in any of my test installations (although I have never tried it in a Windows environment). Googleing gives me nothing...
My questions are these: Why does this happen? Is it something with the version of PHP?
<snip>
PHP 4 and PHP 5 handle objects as function parameters differently. Mediawiki now considers PHP 5.0 or later as a prerequisite (5.1 or later recommended). The warning you quote is a plausible consequence of using PHP 4 under certain circumstances, so that is the first thing I would check.
-Robert Rohde