Sito nuovamente online!

La scorsa settimana c’è stato un aggiornamento del PHP sul server, ed improvvisamente il mio sito (che usa Joomla) è sparito con questo misterioso errore: PHP Warning: Parameter 2 to frontpage() expected to be a reference in includesCacheLiteFunction.php on line 100.

Dopo aver provato a tracciare da solo l’errore ed essermi perso diverse volte (in fin dei conti anche ho un altro lavoro…) una ricerca su internet ha portato il sole nella mia giornata: nel forum Joomla Kjell Hählen  ha postato la soluzione, che ho recuperato dal sito http://maximilion.wordpress.com/

Questo fix aggiunge alla fine prima della chiusura dell’ultima graffa una funzione nel file function.php:

    static $newobjCount,$newobj;
    function fixCalls($arguments) {
        for ($i = 0, $j = count($arguments); $i < $j; $i++) {
            if (is_object($arguments[$i])) {
                if (!self::$newobjCount) self::$newobjCount = 0;
                self::$newobj[++self::$newobjCount] = clone $arguments[$i];
                   
                $arguments[$i] = &self::$newobj[self::$newobjCount];
            }
        }
       
        return $arguments;   
    }

La funzione viene chiamata due volte con l’istruzione:

$arguments = $this->fixCalls($arguments);

Questa istruzione va inserita prima di questa riga:

$result = call_user_func_array($target, $arguments);

e di questa:

$result = call_user_func_array(array($class, $method), $arguments);

Grazie di cuore a Kjell Hählen  che mi ha salvato i siti che amministro!!!

Loading