3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravel7にアップグレードすると、artisanコマンドが死ぬ

Posted at

Laravel7がでましたね!早速人柱的に上げてみましたところ、案の定動かなくなりました。
Laravel6からLaravel7へアップグレードすると、artisanコマンドが謎のステータスコード255を吐いて死にます。
これはcomposer updateしたときに

Script @php artisan package:discover handling the post-autoload-dump event returned with error code 255

なエラーとなって表れてきます。
ググってもやれcacheを消せだの出てきますが、全く効果がありません!!
この時には、

php artisan --version

と叩いてもコンソールに何も出てこなくて、

echo $?
255

っとでるので、artisanコマンド自体が死んでいることが分かります。
これ、とてもとても地味にハマって数時間悩んだのですが、
アップグレードガイドのSymfony 5 Related Upgrades
が該当します。(といってもさらっと流しただけだと気づかないんですが)
修正方法はこれです。

app/Exceptions/Handler.php が今回修正対象となっていまして、 最初にこれを上記のように修正しないとartisanコマンドが動作しません。
なおこれは、

composer update --vvv

として詳細ログをみても、php.iniのエラーレベルをE_ALLにしても何も出てきません。artisanコマンド中のkernel->handler()で音もなく死にます・・・


余談ですが、Laravel7にすると、npmみたいにphp artisan test でテストが実行できます。

./vender/bin/phpunit

とかしなくてもいいです。
見やすく整形されていい感じですよ。

root@03791d802551:/var/www/web# php artisan test

   PASS  Unit\ExampleTest
  ✓ basic test

   PASS  Feature\CommandTest
  ✓ コマンド実行

   PASS  Feature\ExampleTest
  ✓ basic test

   PASS  Feature\HomeTest
  ✓ 一覧表示

   PASS  Feature\LogInOutTest
  ✓ ログイン失敗
  ✓ ログイン成功
  ✓ ログアウト
  ✓ ログインしていないのにログアウト
  ✓ ログイン試行ブロック
  ✓ ログイン履歴
  ✓ パスワードリセット
  ✓ リセット失敗
  ✓ パスワードリセット可能か

   PASS  Feature\RssCategolyListTest
  ✓ r s sカテゴリ登録
  ✓ r s sカテゴリ編集
  ✓ r s sカテゴリ削除
  ✓ r s sカテゴリ二重登録

   PASS  Feature\RssListTest
  ✓ r s s登録
  ✓ r s s編集
  ✓ r s s削除
  ✓ r s s二重登録
  ✓ r s s編集その2

   PASS  Feature\UserTest
  ✓ ユーザ登録
  ✓ ユーザ登録パスワード短い
  ✓ ユーザ登録パスワード間違い
  ✓ ユーザ情報修正
  ✓ ユーザ削除
  ✓ ユーザ削除キャンセル

  Tests:  28 passed
  Time:   15.90s
3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?