Laravel Artisan Route: Cache verursacht fehlerhafte Daten Ausnahme


9

Das Ausführen des Befehls: php artisan route:cacheerzeugt die folgende Ausführung:

Erroneous data format for unserializing 'Symfony\Component\Routing\CompiledRoute'

Laufen: php artisan route:clearbehebt es

Ich möchte wissen, wie ich das beheben kann, damit ich meine Routen zwischenspeichern kann.


1
Entfernen Sie gegebenenfalls alle Verschlüsse (Inline-Funktionen) in Routen.
— jsHate

Ich habe keine Schließungen in meiner
— Nate

Das gleiche Problem ohne Sperrung von Routen.
— Nwaweru

Ich stehe vor dem gleichen Problem. Haben Sie eine Problemumgehung gefunden, die Sie teilen können?
— The Unknown Dev

Noch nicht, ich plane, mich in ein neues Verzeichnis zu begeben und zu sehen, was passiert
— Nate

Antworten:


2

Nach ein paar Dingen herauszufinden. Ich fand, dass Apache2 immer noch eine ältere Version von PHP verwendete, obwohl die CLI-Version auf dem neuesten Stand war.

Nach der Deinstallation aller älteren Versionen von PHP und der Neukonfiguration von Apache2 für die Verwendung der neuesten Version wurde dieses Problem behoben.


1

Das hat bei mir funktioniert

php artisan optimize:clear
php artisan config:clear
php artisan config:cache
composer dump-autoload 

Dies hat leider nicht funktioniert.
— Nate

1

Ich hoffe, Sie verwenden dieselbe PHP-Version für CLI und auch für das Projekt. Auch PHP 7.4 Routing Cache funktioniert nicht mit PHP 7.3.


0

Entfernen Sie einfach das Leerzeichen zwischen der Linie Ihrer Route.

php artisan optimize:clear
php artisan optimize

1
Wie würde das Entfernen von Leerzeilen in einer Routendatei helfen?
— Nate

0

Beim Versuch, Laravel zu aktualisieren, trat das gleiche Problem auf. Die einzige Möglichkeit, die mir geholfen hat, bestand darin, die Version von Symfony / Routing auf Version 4.2.0 herunterzustufen (ich hatte Version 4.4.3).

composer require symfony/routing:v4.2.0


Ich habe versucht, Symfony / Routing auf v4.2.0 herunterzustufen, um zu sehen, ob dies helfen würde, aber ich konnte es nicht, da die Symfony / Routing-Version für die aktuelle Version von Laravel (6.9.0) zu niedrig war.
— Nate
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.