はじめに
はじめまして。
今回は卒業研究用に制作したWebアプリケーションが本番環境に適合しなかったためにダウングレードを行ったので、その手順周りを説明したいと思います。
転じてこのように開発中にバージョン変更を余儀なくされた方への対応策を提案できればと思います。
アプリケーション概要
スライダーで日記のスコア管理ができるものを用意しました。
セキュア化できたら一般公開予定です。
起こった内容
- 卒業研究にLaravelを利用したアプリケーションを制作
- 手順を確認し、開発用のPCで開発完了
- 本番環境に載せようとしたところエラー発生
- PHPのバージョンを確認すると対応外であることが判明
開発バージョン(ローカル)
名前 | バージョン |
---|---|
MANP | 6.4 |
Apache | 2.4.54 |
PHP | 8.2.0 |
MySQL | 5.7.39 |
Composer | 2.5.8 |
Laravel Framework | 10.14.1 |
本番環境
カテゴリ | ソフトウェア名 | バージョン |
---|---|---|
ソフトウェア | Apache | 2.4.54 |
言語 | PHP | 7.4.33 |
データベース | MySQL | 5.7.39 |
フレームワーク | Laravel Framework | 8.8* |
対応策
【共通】
- "{技術名}_{バージョン名}"で検索をかけ、各バージョンでどのようなことが変更点になるのかチェックする。
【Laravelの場合】
- Langファイルや記法の変更、PHP8.1以上からPHP7.*にダウングレードすること
- 従ってPHPも8系と7系で変更された内容を扱う場合には同様に該当部分を書き換える必要あり。
- Viteが使用できずLaravel Mixで書き換える必要あり。
参考コード例
Laravel10:app.blade.php
<head>
`【割愛】`
<!-- Scripts -->
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
</head>
Laravel8:app.blade.php
<head>
`【割愛】`
<!-- Scripts -->
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
<script src="{{ asset('js/app.js') }}" defer></script>
</head>
- 様々な要素を調査した結果、表示部分に問題が有りエラーが起きることが判明。
- プロジェクトを制作し直して該当コードを書き換えることで本番環境への対応ができました。
反省
- イレギュラーが起きた際に、残りの期間からスケジュールを再構成することが必要
- 要件定義で本番環境のバージョンまで確認しましょう。
最後に
この記事を閲覧していただきありがとうございます。
バージョンは大切です。動かない機能やメソッドなど違いが溢れているので公式ドキュメントや先人の記事などを確認して変更すべき箇所をまとめ、時間を取らずリファクタリングを目指していただければと思います。
元からバージョン間違えないのが一番早い