LoginSignup
11
17

More than 3 years have passed since last update.

Laravel を deployer でデプロイ時に LogicException が出た

Last updated at Posted at 2019-08-26

追記

2019/08/30

こちらの記事ですが、元々仕事で使ってる deployer のレシピがいささか古く、最近これが最新のものにアップデートされたことで、以前は 5.6 以降では実行されていなかった artisan optimize が 5.7 以降では実行されるよう変更されていたため起きた現象でした。
deployer のレシピは随時アップデートするなり更新チェックするなりした方がよさそう。


deployer に限った話ではないですが。

環境

  • PHP 7.1
  • Laravel 5.7.28

起きた現象

artisan route:cache を実行した時に出た。
ルーティング中にクロージャがあるとキャッシュできないよ、という例外メッセージ。

[LogicException]
Unable to prepare route [foobar] for serialization. Uses Closure.

解決方法

こんな感じの記述が routes/api.php とか routes/web.php にあったら
Controller を呼び出す形に直してあげる必要がある。

// Before
Route::get('/user', function (Request $request) {
    return $request->user();
});

// After
Route::get('/user', 'MyController@user');

参考

11
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
17