问题是phpartisanroute:cacheLaravel7
The problem is php artisan route:cache Laravel7
当我这样做时 php artisan route:cache 对我来说,这个错误出现了。!
我该如何解决这个问题?
LogicException
Unable to prepare route [api/user] for serialization. Uses Closure.
at C:\wamp64\www\web\vendor\laravel\framework\src\Illuminate\Routing\Route.php:1140
1136| */
1137| public function prepareForSerialization()
1138| {
1139| if ($this->action['uses'] instanceof Closure) {
> 1140| throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
1141| }
1142|
1143| $this->compileRoute();
1144|
1 C:\wamp64\www\web\vendor\laravel\framework\src\Illuminate\Foundation\Console\RouteCacheCommand.php:62
Illuminate\Routing\Route::prepareForSerialization()
2 C:\wamp64\www\web\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:33
Illuminate\Foundation\Console\RouteCacheCommand::handle()
路线:列表:
+--------+----------+-----------------------------+---------------------+------------------------------------------------------------------------+------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-----------------------------+---------------------+------------------------------------------------------------------------+------------------------------+
| | GET|HEAD | / | index | Closure | web |
| | GET|HEAD | admin | admin.index | App\Http\Controllers\admin\AdminController@index | web,auth,verified |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | auth/google | auth.google | App\Http\Controllers\Auth\GoogleAuthController@redirect | web |
| | GET|HEAD | auth/google/callback | | App\Http\Controllers\Auth\GoogleAuthController@callback | web |
| | POST | email/resend | verification.resend | App\Http\Controllers\Auth\VerificationController@resend | web,auth,throttle:6,1 |
| | GET|HEAD | email/verify | verification.notice | App\Http\Controllers\Auth\VerificationController@show | web,auth |
| | GET|HEAD | email/verify/{id}/{hash} | verification.verify | App\Http\Controllers\Auth\VerificationController@verify | web,auth,signed,throttle:6,1 |
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web,guest |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | GET|HEAD | panel | user.index | App\Http\Controllers\UserController@index | web,auth,verified |
| | GET|HEAD | panel/setting | user.profile_edit | App\Http\Controllers\UserController@edit | web,auth,verified |
| | POST | panel/setting/update/{user} | user.profile_update | App\Http\Controllers\UserController@update | web,auth,verified |
| | GET|HEAD | password/confirm | password.confirm | App\Http\Controllers\Auth\ConfirmPasswordController@showConfirmForm | web,auth |
| | POST | password/confirm | | App\Http\Controllers\Auth\ConfirmPasswordController@confirm | web,auth |
| | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web |
| | POST | password/reset | password.update | App\Http\Controllers\Auth\ResetPasswordController@reset | web |
| | GET|HEAD | password/reset | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web |
| | GET|HEAD | password/reset/{token} | password.reset | App\Http\Controllers\Auth\ResetPasswordController@showResetForm | web |
| | POST | register | | App\Http\Controllers\Auth\RegisterController@register | web,guest |
| | GET|HEAD | register | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm | web,guest |
+--------+----------+-----------------------------+---------------------+------------------------------------------------------------------------+------------------------------+
出现这个问题是因为你的一些路由定义在closures or anonymous functions. Usually the default route pointing to /
in routes/web.php
and the /user
route in routes/api.php
是由闭包定义的。
删除它们或将它们移动到控制器,您就可以开始了。
您可以使用命令 php artisan route:list
来识别任何使用闭包的路由。它将显示 Closure
.
而不是动作或 class 名称
当我这样做时 php artisan route:cache 对我来说,这个错误出现了。! 我该如何解决这个问题?
LogicException
Unable to prepare route [api/user] for serialization. Uses Closure.
at C:\wamp64\www\web\vendor\laravel\framework\src\Illuminate\Routing\Route.php:1140
1136| */
1137| public function prepareForSerialization()
1138| {
1139| if ($this->action['uses'] instanceof Closure) {
> 1140| throw new LogicException("Unable to prepare route [{$this->uri}] for serialization. Uses Closure.");
1141| }
1142|
1143| $this->compileRoute();
1144|
1 C:\wamp64\www\web\vendor\laravel\framework\src\Illuminate\Foundation\Console\RouteCacheCommand.php:62
Illuminate\Routing\Route::prepareForSerialization()
2 C:\wamp64\www\web\vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:33
Illuminate\Foundation\Console\RouteCacheCommand::handle()
路线:列表:
+--------+----------+-----------------------------+---------------------+------------------------------------------------------------------------+------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-----------------------------+---------------------+------------------------------------------------------------------------+------------------------------+
| | GET|HEAD | / | index | Closure | web |
| | GET|HEAD | admin | admin.index | App\Http\Controllers\admin\AdminController@index | web,auth,verified |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | auth/google | auth.google | App\Http\Controllers\Auth\GoogleAuthController@redirect | web |
| | GET|HEAD | auth/google/callback | | App\Http\Controllers\Auth\GoogleAuthController@callback | web |
| | POST | email/resend | verification.resend | App\Http\Controllers\Auth\VerificationController@resend | web,auth,throttle:6,1 |
| | GET|HEAD | email/verify | verification.notice | App\Http\Controllers\Auth\VerificationController@show | web,auth |
| | GET|HEAD | email/verify/{id}/{hash} | verification.verify | App\Http\Controllers\Auth\VerificationController@verify | web,auth,signed,throttle:6,1 |
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web,guest |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | GET|HEAD | panel | user.index | App\Http\Controllers\UserController@index | web,auth,verified |
| | GET|HEAD | panel/setting | user.profile_edit | App\Http\Controllers\UserController@edit | web,auth,verified |
| | POST | panel/setting/update/{user} | user.profile_update | App\Http\Controllers\UserController@update | web,auth,verified |
| | GET|HEAD | password/confirm | password.confirm | App\Http\Controllers\Auth\ConfirmPasswordController@showConfirmForm | web,auth |
| | POST | password/confirm | | App\Http\Controllers\Auth\ConfirmPasswordController@confirm | web,auth |
| | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web |
| | POST | password/reset | password.update | App\Http\Controllers\Auth\ResetPasswordController@reset | web |
| | GET|HEAD | password/reset | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web |
| | GET|HEAD | password/reset/{token} | password.reset | App\Http\Controllers\Auth\ResetPasswordController@showResetForm | web |
| | POST | register | | App\Http\Controllers\Auth\RegisterController@register | web,guest |
| | GET|HEAD | register | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm | web,guest |
+--------+----------+-----------------------------+---------------------+------------------------------------------------------------------------+------------------------------+
出现这个问题是因为你的一些路由定义在closures or anonymous functions. Usually the default route pointing to /
in routes/web.php
and the /user
route in routes/api.php
是由闭包定义的。
删除它们或将它们移动到控制器,您就可以开始了。
您可以使用命令 php artisan route:list
来识别任何使用闭包的路由。它将显示 Closure
.