laravel5.5 Call to undefined method Closure::__set_state()

文章目录

      • 场景
      • 分析
      • 解决

场景

  • 今天想要缓存下配置文件, php artisan config:cache; 然后在执行其他的php artisan 命令的时候发现 Call to undefined method Closure::__set_state()

分析

  • 根据错误提示定位到代码, 这个是在配置dingo/api的时候引入匿名函数导致的
// 配置文件 bootstrap/cache/config.php
    array (
      'basic' => 
      Closure::__set_state(array(
      )),
      'jwt' => 'Dingo\\Api\\Auth\\Provider\\JWT',
    ),

// config/api.php

    'auth' => [
        'basic' => function($app){
     
            return new Dingo\Api\Auth\Provider\Basic($app['auth']);
        },
        'jwt' => 'Dingo\Api\Auth\Provider\JWT',
    ],

解决

  • jwt配置修改, 删掉缓存文件,重新缓存
   config/api.php
    'auth' => [
        'basic' => '\Dingo\Api\Auth\Provider\Basic',
        'jwt' => 'Dingo\Api\Auth\Provider\JWT',
    ],

你可能感兴趣的:(laravel,laravel,jwt,dingo/api)