Laravel 5 в конфигурации php artisan: сгенерирована сгенерированная ошибка Closure :: __ set_state ()

Мой код на производстве, и я побежал

php artisan config:clear 

После этого мой код не был запущен. Страницы указателей и все остальные страницы отображались на белом экране и дали 500 ошибок внутреннего сервера в firebug. Когда я попытался запустить

 php artisan 

это дало мне ошибку, поскольку

 PHP Fatal error: Call to undefined method Closure::__set_state() in /var/www/live/vendor/config.php on line 56 

Мой код в производстве! Файл /vendor/config.php не присутствовал раньше, что случилось с этим кодом? Вы столкнулись с такой ошибкой? Я предоставил все разрешения для хранения / папки и поставщика /. Любая помощь / руководство были бы высоко оценены.

Solutions Collecting From Web of "Laravel 5 в конфигурации php artisan: сгенерирована сгенерированная ошибка Closure :: __ set_state ()"

Я столкнулся с подобной проблемой в прошлом, не знаю, что вызвало ее, но теперь вы можете удалить config.php из /vendor она не сломает ваш код.

И ваш код начнет работать.

У меня были подобные проблемы, когда я запускал php artisan config:cache . По-видимому, это проблема, когда приложение пытается загрузить файлы кэшированной конфигурации, в которых есть закрытие. Это не будет исправлено в Laravel, так как плохой практикой является закрытие в файлах конфигурации. См. Этот вопрос Github

Как я решил это, это отменить это.

Удалите кеш для конфигурации.

Он находится здесь

bootstrap/cache/config.php

ИЛИ

vendor/config.php

Вот что я сделал для ее решения:
1. Перейдите в /vendor/tymon/jwt-auth/src/config/config.php и замените строки для storage и auth с помощью
'auth' => 'Tymon \ JWTAuth \ Providers \ Auth \ IlluminateAuthAdapter',
'storage' => 'Tymon \ JWTAuth \ Providers \ Storage \ IlluminateCacheAdapter'

  1. Перейдите в /bootstrap/cache/config.php и удалите его.
  2. Выполните следующие команды:
    A) php artisan config/cache
    B) php artisan jwt:generate
    C) php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\JWTAuthServiceProvider"

и это должно сделать это!

Среди других корневых причин эта ошибка возникает из-за вызова php artisan config:cache когда закрытие определено внутри любого файла конфигурации, который Laravel пытается загрузить. Laravel не позволяет закрывать файлы конфигурации; видеть:

https://github.com/laravel/framework/issues/9625

Удаление результирующего файла кеша, обычно расположенного в bootstrap/cache/config.php , «исправляет» ошибку.

Долгосрочным решением является устранение закрытия всех файлов конфигурации. Проблемный файл конфигурации может быть определен путем проверки строки нарушения, как указано в сообщении об ошибке.

Если нарушающий файл является сторонним, лучше всего открыть проблему с библиотекой, чтобы проблема была исправлена ​​вверх по потоку.

Изменение файла config.php внутри vendor/tymon/jwt-auth/src/config для этого

 'auth' => Tymon\JWTAuth\Providers\Auth\IlluminateAuthAdapter::class` 

и это

 'storage' => Tymon\JWTAuth\Providers\Storage\IlluminateCacheAdapter::class` 

перед запуском php artisan config:cache работал для меня.