尝试在VerifyCsrfToken.php(第156行)Laravel 5.4中获取非对象的属性

尝试在VerifyCsrfToken.php(第156行)Laravel 5.4中获取非对象的属性,php,laravel,api,Php,Laravel,Api,我有一个Shell脚本,在我的Laravel应用程序中执行路由API。然而,当它执行它时,我有一个来自令牌的错误 正在尝试获取非对象的属性 在VerifyCsrfToken.php中(第156行) 路线是去。 在SoapController中,我重定向到应用程序内部的其他路由: return redirect('/control_fich/'.$id_user.'/'.$date_utc); 路线是: Route::get('control_fich/{id}/{date}','Control

我有一个Shell脚本,在我的Laravel应用程序中执行路由API。然而,当它执行它时,我有一个来自令牌的错误

正在尝试获取非对象的属性 在VerifyCsrfToken.php中(第156行)

路线是去。 在SoapController中,我重定向到应用程序内部的其他路由:

return redirect('/control_fich/'.$id_user.'/'.$date_utc);
路线是:

Route::get('control_fich/{id}/{date}','ControlFichController@index');
我把这个路由放在中间件VerifyCsrfToken.php中

     namespace App\Http\Middleware;

     use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;

 class VerifyCsrfToken extends BaseVerifier
 {
/**
 * The URIs that should be excluded from CSRF verification.
 *
 * @var array
 */
protected $except = [
    'dropdown',
    'control_fich/*',
];
 }
但错误还在继续。要从API控制器执行内部控制器,我必须做什么

谢谢

好的,根据

您应该将
VerifyCsrfToken类
中的代码更改为:

protected $except = [
   'dropdown',
   'control_fich/*',
];

您的路线使用哪种中间件?web?这是中间件:Route::group(['Middleware'=>['auth']],function(){});get routes无论如何都不需要csrf令牌您可以显示您的VerifyCsrfToken类代码吗?好的。我编辑了我的post.namespace App\Http\Middleware;使用Illumb\Foundation\Http\Middleware\VerifyCsrfToken作为BaseVerifier;类VerifyCsrfToken扩展了BaseVerifier{/***应该从CSRF验证中排除的URI.*@var-array/protected$except=['dropdown','control_-fich/',];}