概要・対象読者
概要
Heroku上で動いているLaravelプロジェクトで更新したら「Trying to access array offset on value of type null」というエラーがLaravelログに出ていたのでこのエラーを解決する方法を書きます。
ローカル環境ではエラーにならなかったので焦りました。
対象読者
2020/2/20以降からこのエラーが発生した方。
環境
以下の環境で当エラーが出ました。Laravel6系より前のバージョンを使用している方は該当すると思われます。
・Laravel5.8
・Heroku
原因
PHPバージョンが違うことによって起こった。
2020/2/20にHerokuのPHPバージョンが7.4にアップグレードされていたため。
##解決策
Laravelのバージョンを6系にアップグレードする。
アップグレードは要検討だと思いますが以下を見る限り大きな影響はなさそうです。
現に私も6系にアップグレードしたわけですが一部ヘルパー関数が使えなくなっていただけで5分程度の
修正で動くようになりました。Laravel5.8はサポート期限が2020/02/26ということもアップグレードをした理由の1つです。
修正は以下1点になります。
・Laeavelアップグレード
Laravelアップグレード
まずプロジェクト配下のcomposer.jsonを開き、 "laravel/framework"を"^6.4"に変更します。
"require": {
"php": "^7.1.3",
"ext-intl": "*",
"fideloper/proxy": "^4.0",
"itsgoingd/clockwork": "^4.0",
"laravel/framework": "^6.4",
"laravel/tinker": "^1.0",
"league/flysystem-aws-s3-v3": "^1.0",
"tymon/jwt-auth": "1.0.*"
},
変更したら以下のコマンドを実行します。
$ composer update
以上でLaravelアップデートは完了です。
後はローカルで動作を確認、デバックしてHerokuにアップロードします。
拝読ありがとうございました。