I’m in the process of moving a project from 8.5.12 to 9.2.1 and im running into a Problem with external libraries.
Here is what I did:
Copy everything to local
Replace /concrete directory with the one of 9.2.1
replace composer.json / composer.lock
run composer update
Call the site to process the update
Confirm success of update through Environment Info
Now the problem is:
When I access the “Extend concrete5” (Why is it called like that after all?), I get this error:
Declaration of Concrete\Core\Http\Client\Client::send(Psr\Http\Message\RequestInterface $request, array $options = []): Psr\Http\Message\ResponseInterface must be compatible with GuzzleHttp\Client::send(GuzzleHttp\Message\RequestInterface $request)
I’m pretty lost here, any ideas from the hivemind?
The error message could be a php8 issue. But 8.5.12 is only php7. If that is the case, you could try running the update in php7.
It could also be related to incompatible use of $app->make in custom code or an addon or theme. In v9 it has to use the named hash method of passing parameters.
My usual method is to disable and clear caches, set doctrine into development mode, replace the concrete directory with the new version, then run the update from the CLI.
Yes I have run the update on php7.4 then switched over to 8.1, beause I want to migrate all v8 projects to v9 soon.
I did not look into the controllers of those pages, but the error message only happens when concretecms wants to “phone home” = Extend-Install, Extend-Update, Concrete-Update Pages. Nowhere else. If the issue would be in a custom package, would it also trigger the error when I check the “Upgrade Concrete” page? I don’t think it would?
Just trying to narrow down the origin of this. But as I have changed the /concrete directory, AND the composer files, the options are geting few…
Fixed the problem forseeable, so I believe it is clear that the issue arises from the attempt to make the outside call. Question is how this can be fixed without disabling the marketplace.
Another project in my local environment that I started with 9.1.2 (not upgrade from…) works fine with the marketplace enabled. so somewhere in the upgrade process something went wonky.