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