Php Laravel auth不';不起作用,但所有路线都已正确创建

Php Laravel auth不';不起作用,但所有路线都已正确创建,php,laravel,authentication,laravel-5,Php,Laravel,Authentication,Laravel 5,我创建了用于登录和注册的路由和控制器,但是当我尝试转到GET login或POST login时,页面不会显示,并且在php_error.log(奇怪)中不会记录任何错误。我确实创建了:auth以及路由和控制器,但我无法从get/login或POST/login请求中获得任何有用的信息。在登录/登录时,我在页面上看到此错误 ErrorException in a19535dcda3ed1d86f3228aa05198ae78974da4f.php line 12: Undefined varia

我创建了用于登录和注册的路由和控制器,但是当我尝试转到GET login或POST login时,页面不会显示,并且在php_error.log(奇怪)中不会记录任何错误。我确实创建了:auth以及路由和控制器,但我无法从get/login或POST/login请求中获得任何有用的信息。在登录/登录时,我在页面上看到此错误

ErrorException in a19535dcda3ed1d86f3228aa05198ae78974da4f.php line 12:
Undefined variable: errors (View: /Applications/MAMP/htdocs/gos-twilio/server-laravel/resources/views/auth/login.blade.php)
in a19535dcda3ed1d86f3228aa05198ae78974da4f.php line 12
at CompilerEngine->handleViewException(object(ErrorException), '1') in PhpEngine.php line 44
at PhpEngine->evaluatePath('/Applications/MAMP/htdocs/gos-twilio/server-laravel/storage/framework/views/a19535dcda3ed1d86f3228aa05198ae78974da4f.php', array('__env' => object(Factory), 'app' => object(Application))) in CompilerEngine.php line 59
php_error.log中没有错误。在POST/登录时,我可以从
AuthController
中的自定义方法获得自己的输出,但我怀疑它是否适用,例如自动连接到用户模型、登录限制等,因为我在
/http/controller/auth/AuthController.php
中为该请求创建了自己的方法,称为
受保护函数login()
我做错了什么?这是php artisan route:list的输出:

+--------+----------+-------------------------+----------------+-----------------------------------------------------------------+------------+
| Domain | Method   | URI                     | Name           | Action                                                          | Middleware |
+--------+----------+-------------------------+----------------+-----------------------------------------------------------------+------------+
|        | GET|HEAD | /                       | home           | Closure                                                         |            |
|        | GET|HEAD | home                    |                | App\Http\Controllers\HomeController@index                       | auth       |
|        | GET|HEAD | login                   |                | App\Http\Controllers\Auth\AuthController@showLoginForm          | guest      |
|        | POST     | login                   |                | App\Http\Controllers\Auth\AuthController@login                  | guest      |
|        | GET|HEAD | logout                  |                | App\Http\Controllers\Auth\AuthController@logout                 |            |
|        | POST     | password/email          |                | App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail | guest      |
|        | POST     | password/reset          |                | App\Http\Controllers\Auth\PasswordController@reset              | guest      |
|        | GET|HEAD | password/reset/{token?} |                | App\Http\Controllers\Auth\PasswordController@showResetForm      | guest      |
|        | GET|HEAD | register                |                | App\Http\Controllers\Auth\AuthController@showRegistrationForm   | guest      |
|        | POST     | register                |                | App\Http\Controllers\Auth\AuthController@register               | guest      |
|        | POST     | token                   | token-generate | App\Http\Controllers\TokenController@generate                   |            |
+--------+----------+-------------------------+----------------+-----------------------------------------------------------------+------------+
路由在app/http/Routes.php中定义,其中包含以下内容:

<?php
Route::get(
    '/',
    ['as' => 'home', function () {
        return response()->view('index');
    }]
);
Route::post(
    '/token',
    ['uses' => 'TokenController@generate', 'as' => 'token-generate']
);
Route::auth();
Route::get('/home', 'HomeController@index');
Route::auth();
Route::get('/home', 'HomeController@index');
Route::auth();
Route::get('/home', 'HomeController@index');
Route::auth();
Route::get('/home', 'HomeController@index');

在最新版本的Laravel 5.2上,您将拥有一组可分配给路由的
web
中间件。这个特定的中间件组很重要,因为它提供了会话支持,
StartSession
中间件,这是身份验证系统默认使用的,它提供了一个中间件,用于与您的视图共享会话错误,
ShareErrorsFromSession
中间件(这导致视图中存在可用的
$errors
变量)

在新安装中,
web
中间件组将已应用于
routes.php
文件中的所有路由。如果不是这样,那么您可以在
RouteServiceProvider
中进行此调整:

public function map(Router $router)
{
    $this->mapWebRoutes($router);

    //
}

protected function mapWebRoutes(Router $router)
{
    $router->group([
        'namespace' => $this->namespace,
        'middleware' => 'web', // <---- assigning the 'web' group middleware
    ], function ($router) {
        require app_path('Http/routes.php');
    });
}

您好!是的,好的,我将用这些细节更新问题。我如何获得Laravel的版本?我找不到routes/web.php文件…对,我的错,对不起,只有
php artisan
显示了版本。好的,5.2…真的没有线索,从来没有使用过它。如果可以,升级到至少…5.5,我想,在该版本之前情况会有很大变化,请选择ly 5.8,如果您想继续使用L5。这里没有帮助,抱歉。很好的luckany原因是您没有将
web
中间件组分配给这些路由?这是会话所需的,也是分配
ShareErrorsFromSession
中间件的位置(在视图中为您提供
$errors
变量)您需要将
web
中间件应用于这些路由,否则您将不会有会话(这意味着没有身份验证),并且您的视图中也不会有
$errors
变量…因此添加此middlewareHi!感谢您的帮助!但是,使用第二种方法不起作用。对于第一种解决方案(在RouteServiceProvider中添加代码),文件系统中有几个该类的定义(奇怪的是)。我应该在哪里添加它?我在app/providers/RouteServiceProvider中看到它,但在compiled.php和vendor/laravel/framework/iluminate中也看到它……成功了!我在app/providers/RouteServiceProvider中添加了它
Route::group(['middleware' => 'web'], function () {
    // your routes here
});