Laravel как отключить / удалить кеш маршрутов - PullRequest
0 голосов
/ 05 июля 2019

Я занят обновлением Laravel с версии 5.4 до 5.8 и получаю сообщение об ошибке. Невозможно подготовить маршрут xxx для сериализации.Используйте s Закрытие.

У меня много закрытий в моем web.php, и я не планирую его рефакторинг.

Возможно ли и как полностью удалить / отключить кэширование маршрутов?

Ошибка:

   LogicException  : Unable to prepare route [login] for serialization. Uses Closure.

  at C:\App\lv-5-8\vendor\laravel\framework\src\Illuminate\Routing\Route.php:917
    913|      */
    914|     public function prepareForSerialization()
    915|     {
    916|         if ($this->action['uses'] instanceof Closure) {
  > 917|             throw new LogicException("Unable to prepare route [{$this->uri}] for seriali
zation. Uses Closure.");
    918|         }
    919|
    920|         $this->compileRoute();
    921|

  Exception trace:

  1   Illuminate\Routing\Route::prepareForSerialization()
      C:\App\lv-5-8\vendor\laravel\framework\src\Illuminate\Foundation\Console\RouteCacheCommand.
php:62

  2   Illuminate\Foundation\Console\RouteCacheCommand::handle()
      C:\App\lv-5-8\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:32

  Please use the argument -v to see more details.

Ответы [ 3 ]

1 голос
/ 09 июля 2019

В моем composer.json было php artisan optimize, которое устарело в Laravel 5.6. Так что я удалил это, и это работает.

0 голосов
/ 05 июля 2019

базовый php artisan route:clear Но если вы обновитесь до новой версии. Вы можете удалить о папке кеша в bootstrap/cache для чего угодно. Затем запустите некоторую командную строку ниже

php artisan config:clear

php artisan cache:clear

php artisan key:generate

composer dump-autoload

Удачи!

0 голосов
/ 05 июля 2019

Вы можете использовать команду php artisan route:clear для очистки кэша маршрутов:)

Справочная документация от route: clear команда

Description:
  Remove the route cache file

Usage:
  route:clear

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
      --env[=ENV]       The environment the command should run under
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...