Any update on this?
My installation of TikiWiki v1.10 (CVS) Arcturus on a server running PHP 4.4.1 is returning this notice:
Notice: Only variable references should be returned by reference in /home/always12/public_html/wiki/lib/adodb/adodb.inc.php on line 2797
Observation 1: Moodle's forums explain that this problem appears after servers upgrade to PHP 4.4.0, and that the fix is to re-code adodb.inc.php so that it conforms to PHP 4.4.0's rules regarding returning variables by reference. See http://moodle.org/mod/forum/discuss.php?d=27453 , http://www.obdev.at/developers/articles/00002.html , and http://us2.php.net/manual/en/language.references.return.php
Observation 2: PHP 5 might not give these notices. See http://bugs.php.net/bug.php?id=33558&edit=1
Recommendation: I'm failing to understand the correct way to fix adodb's reference return myself, so I recommend TikiWiki's developers upgrade TikiWiki to the latest adodb library, fix adodb's adherence to PHP's rules for passing references, and send the adodb project a patch.
Potential fix: Editing line 2793 in adodb.inc.php from:
has made the error message go away for now. I fear this is using a "dead" copy of the object referred to in the $arr variable in lines 2799 & 2802 rather than a reference to the "live" object itself, though. Does this function's return value have to be a reference to a "live" object, or can it safely be a "dead" copy of an object?
Also, perhaps I should be wrapping that change in something like this:
$isProblemVersion = version_compare(phpversion(), "4.4.0", ">=");
- Tim Black