I have a Drupal 8 site set up in Docksal. It was version 8.6.15, and needed updates to core and several modules. Bear with me - I don't have complete notes, because I thought everything had worked. I'm more than happy to debug... I just don't know where/how/what to look for in this case.
I would just roll back to a backed up version of the site. But that is missing ( My own fault)
The first problem I encountered, was not being able to update with Drush anymore. So I used composer to to attempt updating, with "composer require drupal/core --update-with-all-dependencies" - this was my first time doing so.
It didn't work. I had to update composer in order to continue on. After using "composer prohibits Drupal/core:8.7.3," I got several results, so I went ahead and updated them. I would tell you all I uploaded, but that was yesterday and I did not save those notes. Sorry. I also did an update of composer itself, all the packages. that appeared out of date. There were a couple that would not update, rejected by constraints.
Updated composer, and Drupal is now 8.7.3. I also did a bunch of module updates on the site as well.
I have an issue where the admin area shows I'm still on Drupal 8.6.15, even though Composer shows the latest version. I assumed this was a separate issue, but maybe it's related. There is an issue with this site being set up with drupal/drupal and not drupal/core. Something to do with the composer json.
Everything seemed fine, but when I tried to navigate to some of the admin pages (Content, Configuration or People page), I get an error:
Fatal error: require(): Failed opening required '/var/www/docroot/vendor/composer/../doctrine/common/lib/Doctrine/Common/Reflection/ClassFinderInterface.php' (include_path='.:/usr/local/lib/php') in /var/www/docroot/vendor/symfony/class-loader/ApcClassLoader.php on line 112
Not even sure what first steps might be on this. When I type composer outdated, I don't see anything called class-loader or classfinder
Looking at ApcClassLoader.php, I see 'require $file;' on line 112:
public function loadClass($class)
{
if ($file = $this->findFile($class)) {
require $file;
return true;
}
}