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/ 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 so that it conforms to PHP 4.4.0's rules regarding returning variables by reference.  See , , and

Observation 2:  PHP 5 might not give these notices.  See

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 from:

    function &FetchRow()


    function FetchRow()

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", ">=");
if ($isProblemVersion){
    function FetchRow();
    function &FetchRow();

- Tim Black