當我想登入我的會話時,我收到此錯誤,但我不知道如何解決它,我非常需要它,因為明天我的畢業典禮。 行中的第一個錯誤: $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');我改為只知道錯誤
P粉3478048962024-03-28 00:07:52
在 Laravel 中,預設不允許序列化閉包。存在此限制是因為閉包是匿名函數,可以包含對周圍上下文和變數的參考。將閉包及其周圍狀態序列化可能很複雜且容易出錯。
當您嘗試在 Laravel 中序列化閉包時,您可能會遇到類似以下內容的錯誤:
要解決此限制,您可以重構程式碼以避免序列化閉包。相反,您可以使用其他可序列化類型,例如類別或資料結構(如陣列或物件)。
如果需要儲存某些狀態或行為,可以建立一個類別並定義所需的方法或屬性。然後,您可以序列化和反序列化該類別的實例,不會出現任何問題。
以下是使用閉包將程式碼重構為類別的範例:
class MySerializableClass { public function doSomething() { // Your code here } } $serializableInstance = new MySerializableClass(); // Serialize the instance $serialized = serialize($serializableInstance); // Unserialize the instance $unserialized = unserialize($serialized); // Call the method on the unserialized instance $unserialized->doSomething();
透過使用可序列化的類,您可以安全地序列化和反序列化實例,而不會遇到與閉包相關的任何問題。
請記住,閉包是 PHP 中的一個強大功能,但在序列化方面它們有其限制。重構程式碼以使用可序列化類別可以幫助您克服 Laravel 中的這一限制。