⬇️
今更Laravel8+PHP7.4のプロジェクトを構築する
現時点(2023-05-18)の最新バージョンは Laravel 10+PHP8.2 ですが、Laravel 8+PHP7.4(いずれもサポート切れ)でプロジェクトを作成する必要に迫られました。
幸いお蔵入りしましたが、試行錯誤したので手順を記録として残しておきます。
※Laravelのサポート期限はLaravel Versionsで確認できます
やりたいこと
過去のバージョン(Laravel 8+PHP7.4)のLaravelプロジェクトをSailで構築したい。
環境
Windows WSL2
Docker Desktop 4.19.0 (106363)
Ubuntu 22.04.2 LTS
PHP 8.1.2
Composer 2.2.6
sail
コマンドはエイリアスを設定済です。エイリアスを設定しない場合は ./vendor/bin/sail
と読み替えてください。
以下、手順。
Laravel 8 のプロジェクトを作成
composer create-project laravel/laravel:^8.0 プロジェクト名
Sailのインストール
PHP7.4で動く最終バージョンのv1.19.0を指定。
cd プロジェクト名
composer require laravel/sail:"v1.19.0" --dev
php artisan sail:install
docker-compose.ymlのPHPのバージョン変更
参考:
docker-compose.ymlを編集。
services:
laravel.test:
build:
context: ./vendor/laravel/sail/runtimes/7.4 <= 8.2から変更
・・・
image: sail-7.4/app <= 8.2から変更
Sailのビルド&立ち上げ
sail build --no-cache
sail up
バージョン確認
PHP
sail php --version
出力結果は次のとおり。PHP7.4が入っている。
PHP 7.4.33 (cli) (built: Feb 14 2023 18:31:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33, Copyright (c), by Zend Technologies
with Xdebug v3.1.6, Copyright (c) 2002-2022, by Derick Rethans
Laravel
sail artisan --version
出力結果は次のとおり。Laravel 8が入っている。
Laravel Framework 8.83.27
言語の設定
config/app.phpを修正。
'timezone' => 'Asia/Tokyo',
'locale' => 'ja',
'faker_locale' => 'ja-JP',
.envの修正
APP_NAME、DB接続情報などを修正。
マイグレーション実行
sail artisan migrate
Laravel Breezeインストール
ログイン機能などを簡単に作りたかったのでLaravel Breezeを利用することにしました。
参考:
Laravel 8 に対応しているバージョンは1.9.4のようなので、バージョンを指定してインストール。
sail composer require laravel/breeze:1.9.4 --dev
sail artisan breeze:install
sail npm install
sail npm run dev
動作確認
http://localhost にアクセスし、右上の「Register」からユーザの登録が行えればOK。
Discussion