Call to undefined function elgg_in_context()

Hi to all,

I installed elgg on my php server and now I'm trying to move it on a development machine for testing purpose. I followed the duplicate installation guide and I think I have done all the steps correctly: I copied all the files, changed the database settings, deleted the cache in data folder, I ran the upgrade.php page and I also tried to disable all the plugin adding the disabled file in mod folder, but I get the error 

Fatal error: Call to undefined function elgg_in_context() in /path/to/elgg/engine/lib/elgglib.php on line 1198

What I missed in copy process?

Thank you very much for your help!

Leo

  • Hi,

    I probably found the problem and I think it's a bug of Elgg... I set up the $CONFIG->debug = true to see why elgg won't load and show only a blank screen. In start.php there is this loop:


    foreach ($lib_files as $file) {
        
        $file = $lib_dir . $file;        
        
        elgg_log("Loading $file...");
        
        if (!include_once($file)) {        
            $msg = "Could not load $file";
            throw new InstallationException($msg);
        }    
    }

    elgg_log, when the debug is active, calls elgg_dump that calls elgg_in_context, but the first time inside loop, pageowner.php is not alredy included and it launch the fatal error.

    Removing the elgg_log call inside the foreach it works correctly.

    But now I have an infinite redirect loop on the home page.....

  • Hi Leo,

    I'm struggling with the same issue. Have you found a solution ?

     

    Simone

  • In the end I've commented start.php as follow:

    foreach ($lib_files as $file) {
    $file = $lib_dir . $file;
    // elgg_log("Loading $file...");
    if (!include_once($file)) {
    $msg = "Could not load $file";
    throw new InstallationException($msg);
    }
    }

     

    and it does the trick

    Simone