当我想登录我的会话时,我收到此错误,但我不知道如何解决它,我非常需要它,因为明天我的毕业典礼。 行中的第一个错误: $response = $kernel->handle( $request = Request::capture() )->send();
use Illuminate\Contracts\Http\Kernel; use Illuminate\Http\Request; define('LARAVEL_START', microtime(true)); if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) { require $maintenance; } require __DIR__.'/../vendor/autoload.php'; $app = require_once __DIR__.'/../bootstrap/app.php'; $kernel = $app->make(Kernel::class); $response = $kernel->handle( $request = Request::capture() )->send(); $kernel->terminate($request, $response);
最后一行的第二个错误
<?php $publicPath = getcwd(); $uri = urldecode( parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) ?? '' ); if ($uri !== '/' && file_exists($publicPath.$uri)) { return false; } require_once $publicPath.'/index.php';
这是 authClass
<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class AuthController extends Controller { public function getLogin() { return view('admin.auth.login'); } public function postLogin(Request $request) { $request->validate([ 'email' => 'required|email', 'password' => 'required' ]); $validated = auth()->attempt([ 'email' => $request->email, 'password' => $request->password, 'is_admin' => 1 ], $request->password); if ($validated) { return redirect()->route('dashboard')->with('success', 'Login Successfull'); } else { return redirect()->back()->with('error', $request); } } }
这一行的写法如下: return redirect()->back()->with('error', 'Invalid Credentials');我改为只知道错误
在 Laravel 中,默认情况下不允许序列化闭包。存在此限制是因为闭包是匿名函数,可以包含对周围上下文和变量的引用。将闭包及其周围状态序列化可能很复杂且容易出错。
当您尝试在 Laravel 中序列化闭包时,您可能会遇到类似于以下内容的错误:
要解决此限制,您可以重构代码以避免序列化闭包。相反,您可以使用其他可序列化类型,例如类或数据结构(如数组或对象)。
如果需要存储某些状态或行为,可以创建一个类并定义所需的方法或属性。然后,您可以序列化和反序列化该类的实例,不会出现任何问题。
以下是使用闭包将代码重构为类的示例:
通过使用可序列化的类,您可以安全地序列化和反序列化实例,而不会遇到与闭包相关的任何问题。
请记住,闭包是 PHP 中的一个强大功能,但在序列化方面它们有局限性。重构代码以使用可序列化类可以帮助您克服 Laravel 中的这一限制。