Commit 9836e65b authored by Nathaniel Catchpole's avatar Nathaniel Catchpole
Browse files

Issue #3145563 by Charlie ChX Negyesi, NigelCunningham, alexpott, joachim,...

Issue #3145563 by Charlie ChX Negyesi, NigelCunningham, alexpott, joachim, longwave, catch, tyler36: Route serialization incompatibilities between PHP 7.4 and 7.3 (9.x only)

(cherry picked from commit 84a6dadd)
parent d39e25de
......@@ -107,7 +107,19 @@ public function match($pathinfo) {
* {@inheritdoc}
public function matchRequest(Request $request) {
$collection = $this->getInitialRouteCollection($request);
try {
$collection = $this->getInitialRouteCollection($request);
// PHP 7.4 introduces changes to its serialization format, which mean that
// older versions of PHP are unable to unserialize data that is serialized
// in PHP 7.4. If the site's version of PHP has been downgraded, then
// attempting to unserialize routes from the database will fail, and so the
// router needs to be rebuilt on the current PHP version.
// See
catch (\TypeError $e) {
$collection = $this->getInitialRouteCollection($request);
if ($collection->count() === 0) {
throw new ResourceNotFoundException(sprintf('No routes found for "%s".', $this->currentPath->getPath()));
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment