upgrade errors with 5.5.0

Permalink
upgraded from 5.4.2.2 and get a blank page with these errors

Warning: set_exception_handler() expects the argument (View::defaultExceptionHandler) to be a valid callback in C:\xampp\htdocs\concrete\concrete\dispatcher.php on line 46

Fatal error: Call to undefined method View::addFooterItem() in C:\xampp\htdocs\concrete\concrete\elements\page_controls_header.php on line 24

can anyone help please

Regards
Mike

 
mkly replied on at Permalink Reply
mkly
Not sure of how you upgraded but it appears to be looking in the old directory. What exactly did you do to upgrade?
oldwrinkly replied on at Permalink Reply
mkly
thanks for replying
I upgraded the usual way, replaced the complete concrete folder with the new one and pasted
http://localhost/concrete/index.php/tools/required/upgrade......
into a browser, said upgraded ok.
I have gone back to the older version and everything works ok, retried the 5.5.0 concrete folder but keep getting the same errors

Regards
Mike
dre replied on at Permalink Reply
dre
I am having the same issue except that I updated via the dashboard. This has got me in serious trouble now as I have a tight deadline for an update to the website. I tested the upgrade first on a previous update and had no issues but...

Really need someone's help on this. Now a site that the client is monitoring for a large update doesn't exist at all
adamjohnson replied on at Permalink Reply
adamjohnson
I am experiencing similar issues to what oldwrinkly is having. I've updated several sites from C5.4.2.2 to 5.5.0 to 5.5.1 on my server without any issues. I pulled down a 5.4.2.2 site to upgrade and develop via XAMPP locally and got the first error oldwrinkly talked about. I've triple-checked that the files copied successfully. Still have not found a solution so I'd be interested to hear what folks have to say. Seems like several people are having a similar issue.
Phallanx replied on at Permalink Reply
Phallanx
I think this is the same error that I got on my site (can't remember for sure).

but I had to do the following

copy "concrete/libaries/events.php" to the root (replicating the path).
About line 160 you will see
$params = (is_array($ev[4])) ? $ev[4] : array();
// now if args has any values we put them FIRST
$params = array_merge($args, $params);
if (method_exists($ev[1], $ev[2])) {
// Note: DO NOT DO RETURN HERE BECAUSE THEN MULTIPLE EVENTS WON'T WORK
  $eventReturn = call_user_func_array(array($ev[1], $ev[2]), $params);
}

replace with
$params = (is_array($ev[4])) ? $ev[4] : array();
// now if args has any values we put them FIRST
if (is_array($params))
 $params = array_merge($args, $params);
else
 $params = array_merge($args, array($params));
if (method_exists($ev[1], $ev[2]) && !empty($params)) {
// Note: DO NOT DO RETURN HERE BECAUSE THEN MULTIPLE EVENTS WON'T WORK
 $eventReturn = call_user_func_array(array($ev[1], $ev[2]), $params);
}
adamjohnson replied on at Permalink Reply
adamjohnson
Hah! Shaun (Phallanx) wins again. What you posted actually wasn't my problem but spurred the thought, "I wonder if I have any 5.4.2.2 specific overrides in any top level directories". Low and behold there was a view.php in the libraries directory that was for Miser 5.4.2.2, not 5.5.x. This caused the update to $*&# the bed.

So, I suppose if you see errors like this when you are upgrading, double check your overrides as they could very likely be the source of the issue.
Phallanx replied on at Permalink Reply
Phallanx
Ah. That (overrides) was the other problem I had. I commented on this in another thread.
http://www.concrete5.org/community/forums/customizing_c5/on-login-e...

The override strategy, whilst great for not modifying the core, does seem to have this one weakness.

The problem above, will only exhibit itself if you only have one event hooked.
mkly replied on at Permalink Reply
mkly
Overriding in general is pretty risky behaviour if you are going to do automatic updates. You really need to diff the overrides first, merge any changes and then update. Especially 5.5.

Overriding hopefully isn't something less experienced users are actually doing.

Overriding is essentially no different than modifying the core, beyond giving someone else who comes into it the breadcrumb to follow to see what stuff someone might have changed.
Phallanx replied on at Permalink Reply
Phallanx
Unfortunately they are. You only need to read through the forums to see that. Most of the time it is peddled as the first choice to get desired behavior since who wants to write an addon when you only need to change 3 lines of code and stick it in a root directory?
TheRealSean replied on at Permalink Reply
TheRealSean
one of those ahaa moments.

Thanks for the tips this was the issue I was experiencing, an extended library view, some quick changes and voila.

Thanks