超簡単。Laravel5.5からLaravel6へのバージョンアップ

超簡単。Laravel5.5からLaravel6へのバージョンアップ

Laravel5.5からLaravel6へのバージョンアップ

Docker化に伴い、PHP7.4を入れたので折角だしLaravelを6に上げてみました。

本当の理由はPHP7.4にしたらLaravel5.5のメール送信でエラーが発生したからです。

Trying to access array offset on value

調べるとPHP7.4で修正されたパーツがトリガーとなっている事が判明。
PHPのバージョンを下げるか、Laravelを上げるかの判断の中でLaravelの変更を選択したのでした。

次回の為にアップグレードのポイントをまとめておきます。

基本は composer.json を変更してcomposer update

まず今回の更新は一発で上手くいくほど甘くはありませんでした。

でもね、ちゃんとどこかが悪いか教えてくれるから悩むことはなかったかな。

まず、ググって出てきたサイトの情報を参考にこんな事をやってみます。

PHPのバージョン変更とlaravel/frameworkの値の変更。

これやって composer update したところ、更新できない。

でもね、うれしいのはなぜ更新できないのかポイントを整理して教えてくれる所。

この『Problem』をクリアすれば問題なく更新ができるという至れり尽くせりな仕様。
おかげさまで全く困らずにLaravel6に上げる事が出来ました。

今回指摘された箇所は3か所

  • fideloper/proxy”: “~3.3”  => “~4.3.0″へ変更
  • “laravelcollective/html”: “~5.0”  => “6.0”へ変更
  • “phpunit/phpunit”: “~6.0”  => “~7.0″へ変更

順調に更新されたと思ったのですが、困ったことが発生しました。

Call to undefined function str_slug()でページにアクセスできない。

どのページでも上記エラーが発生してページが表示されない。

https://laravel.com/docs/6.x/upgrade#helpers を参照しましょう。

コマンド一発で解決です。

あっさり解決しました。

領収書発行システムのPDF化も問題なし。
MeCabも正常
メール配信もOK

思っていたほどアップグレードによる修正はなさそうです。

まとめ

アップグレードというと面倒なことが出てきそうでしたが、やってみると意外とあっさり&すんなり。
システムに大きな影響がないのであれば更新していた方が良いですね。