Маршрут ремесленника Laravel: кеш вызывает ошибочные данные Исключение

9

Выполнение команды: php artisan route:cacheпроизводит следующее исполнение:

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

Запуск: php artisan route:clearисправляет это

Я хотел бы знать, как я могу это исправить, чтобы я мог кэшировать свои маршруты.

Nate
источник
1
Удалите все замыкания (встроенные функции) в маршрутах, если у вас есть.
jsHate
У меня нет никаких закрытий в моем файле маршрутов
Nate
Столкнувшись с той же проблемой без замыканий на маршрутах.
nwaweru
Я столкнулся с той же проблемой, вы нашли обходной путь, которым вы могли бы поделиться?
Неизвестный Дев
Пока нет, я планирую вернуться в новый каталог и посмотреть, что произойдет
Нейт

Ответы:

2

После куча выяснения вещей. Я обнаружил, что Apache2 все еще использует более старую версию PHP, хотя версия CLI была актуальной.

После удаления всех старых версий php и перенастройки Apache2 для использования последней версии эта проблема была устранена.

Nate
источник
1

Это сработало для меня

php artisan optimize:clear
php artisan config:clear
php artisan config:cache
composer dump-autoload 
Вишну Дамвала
источник
К сожалению, это не сработало.
Nate
1

Я надеюсь, что вы используете ту же версию PHP для CLI, а также для проекта. Также PHP 7.4 кеш маршрутизации не работает с php 7.3.

Субтен Ишфак
источник
0

просто удалите пробел между строк вашего маршрута ..

php artisan optimize:clear
php artisan optimize
Рико Прамаюди
источник
1
Как удаление пустых строк поможет в файле маршрутов?
Нейт
0

При попытке обновить Laravel возникла та же проблема. Единственный способ, который помог мне, - это понизить версию symfony / routing до v4.2.0 (у меня была v 4.4.3)

composer require symfony/routing:v4.2.0

Николай
источник
Попытался понизить symfony / routing до v4.2.0, чтобы посмотреть, поможет ли это, но я не смог, так как версия symfony / routing была слишком низкой для текущей версии Laravel (6.9.0).
Nate