升级到5.2后报错

Error after upgrading to 5.2

从 5.1 升级到 5.2 后,我的某些页面出现了这个错误。我不确定是什么原因造成的?

ErrorException in RouteServiceProvider.php line 29: Missing argument 2 for App\Providers\RouteServiceProvider::App\Providers{closure}()

例如,当我尝试登录时会发生这种情况。

有什么想法吗?

来自堆栈:

1. in RouteServiceProvider.php line 29
2. at HandleExceptions->handleError('2', 'Missing argument 2 for App\Providers\RouteServiceProvider::App\Providers{closure}()', 'Z:\development\wamp\www\larabook\Laravel\app\Providers\RouteServiceProvider.php', '29', array('sql' => object(QueryExecuted))) in RouteServiceProvider.php line 29
3. at RouteServiceProvider->App\Providers{closure}(object(QueryExecuted))
4. at call_user_func_array(object(Closure), array(object(QueryExecuted))) in Dispatcher.php line 221
5. at Dispatcher->fire(object(QueryExecuted)) in Connection.php line 750

第 29 行。在 RouteServiceProvider.php(下面的第一行)中:

   \DB::listen(function($sql,$bindings,$time) {

        $sql = str_replace(array('%', '?'), array('%%', '%s'), $sql);
        $sql = vsprintf($sql, $bindings);

        $time_now = (new \DateTime)->format('Y-m-d H:i:s');;
        $log = $time_now.' | '.$sql.' | '.$time.'ms'.PHP_EOL;
        \Storage::append('logs\query.log', $log);

    });
        \DB::listen(function($query) {

        $sql = str_replace(array('%', '?'), array('%%', '%s'), $query->sql);
        $sql = vsprintf($sql, $query->bindings);

        $time_now = (new \DateTime)->format('Y-m-d H:i:s');;
        $log = $time_now.' | '.$sql.' | '.$query->time.'ms'.PHP_EOL;
        \Storage::append('logs\query.log', $log);

    });

找到解决方案。显然,您现在需要传入一个对象,而不是我之前使用的那 3 个参数。