Upgrading from 5.7.5.13 to 5.8 "concrete5 has encountered an issue"

Permalink 1 user found helpful
I've been trying to update a site from 5.7.5.13 to 5.8 and repeatedly failing. Getting PHP error screens with "array_replace_recursive(): Argument #2 is not an array" (dashboard/site no longer accessible) and would appreciate any advice or if anyone else has encountered similar issues?

I originally tried updating to 8.2.1 entirely through the dashboard. When this didn't work I reinstalled the site from a backup, downloaded 8.3.2, uploaded to updates directory (just the concrete folder) and then installed from the dashboard where it was visible but still getting errors.

Server is running PHP5.6 (tried changing to PHP7 but still getting the errors).

Server error logs showing "End of script output before headers: index.php"

I checked that the installed add ons don't require updates although we do have some custom dashboard pages for creating event bookings and sending confirmation emails - could these be causing problems? They also output to custom single pages.

The site was on 5.7.5.9 and the update 5.7.5.13 went smoothly with no errors.

Any ideas/help would be greatly appreciated!

PixelFields
 
mdius replied on at Permalink Reply
mdius
I had a lot of issues updating from 5.7.5.13 to 5.8 too. Took months to figure it out. What I found a few of my packages and mostly my application/blocks were not compatible for version 5.8.

It was a pains taking process to fix, I went through the 5.8 blocks and compared them with the 5.7 I was using.

I am still having issues with my Index Search Engine Automated Job. But other than that, it is running pretty smooth.
growlrooed replied on at Permalink Reply
growlrooed
I too have ran into issues trying to do this upgrade and got the same message.

Is there a way to disable addons and run the upgrade or with I have to delete them from the packages folder?

Also Mdius, what issues where you running into with your application blocks? In the site I created I had to made quite a few custom blocks. What do I need to add to make them play nice with version 5.8?

Also I need to switch the database from MySQL to MariaDB. Is that going to throw yet another wrench in the works?
JohntheFish replied on at Permalink Reply
JohntheFish
You could run the upgrade from the CLI. That will allow it to complete. Any addon incompatibility will then show next time you visit the site, so will still need to be fixed.

Unfortunately, addon incompatibility could also block the addon update mechanism. So its always best to get all addons up-to-date before upgrading the core.

Still no guarantee, but at least that way the number of incompatibilities you need to refer back to addon developers is minimised.

If you update on a development clone first, you can get all that out of the way before it risks a live site.
growlrooed replied on at Permalink Reply
growlrooed
Hi John. Tried that and the upgrade ran into a slew of errors. My guess it was due to the custom blocks made for the website.
JohntheFish replied on at Permalink Reply
JohntheFish
If you can get far enough into the dashboard, set the full debug options at /dashboard/system/environment/debug

or hack it in /application/config/generated_overrides/concrete.php
return [
.......etc.....
'debug' => [
        'display_errors' => true,
        'detail' => 'debug',
        'error_reporting' => null,
    ],
.....etc.....
];


That should give a full error trace, either to the cli, to the web page, or the c5 Log (and you can look at the Log table in phpMyAdmin)

With a full error trace, you can work out where the error was caused. It can be a few stack levels back from the actual line reporting.
JohntheFish replied on at Permalink Reply
JohntheFish
From 5.7.x to v8.latest, the culprit can often be attributes.