Hi everyone, i’m running core 2.9.0 on a test server, and I applied the 2.9.2 update successfully and ran the installer.
But now when i try to access the site or the system folder, this error message appears:
Unable to load the requested class: functions
Any idea what is the problem and how it can be resolved? Thanks!
Ok i found out the problem: seems like the functions.php file in the libraries folder was somehow omitted (lost) when i uploaded the new files. I tried to replace it with the version directly from the core files, but that didn’t work.
Had to reupload the entire new set of core files and run the installer over again, and that worked fine
I just ran into this same error when uploading an install of EE Core 2.9.3 to a client’s server. Though my fix, and potentially the source of my problem, is different.
It turns out this particular server was deleting the Functions.php file every time I tried uploading it. I traced the issue to the server not liking a particular eval technique being used in the evaluate() function, resulting in the file being filtered out completely. I was able to get around the problem with a simple tweak to the file (surprising that the filter allowed this nearly identical code). I typically resist making core changes, but in this case I compromised and was sure to make a note!
Maybe this can help someone, perhaps even myself a year from now 😊
The issue relates, in my case, to the string ’?’.’>’ within the eval construct. My change as follows:
File: system/expressionengine/libraries/Functions.php Line 688:
return eval('?'.'>'.$str.'<?php ');Changed to:
return eval('?>'.$str.'<?php ');I had the same problem with the module Freeform, and used the same fix.
File: system/expressionengine/third_party/freeform/addon_builder/addon_builder.php Line 1136:
echo eval('?'.'>'.preg_replace("/;*\s*\?".">/", "; ?".">",Changed to:
echo eval('?>'.preg_replace("/;*\s*\?".">/", "; ?".">",Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.