Laravel SailでプロジェクトのPHPのバージョンを変えるには、docker-compose.ymlファイルを編集する必要があります。
DockerとLaravel Sail初心者向けに、どこをどのように編集するか、分かりやすく説明していきますね。
Laravel Sailで使用するPHPの変更方法を分かりやすく説明
まずは変更するdocker-compose.ymlファイルから確認していきましょう。
①docker-compose.ymlファイルを確認
Laravel Sailを使ってLaravel のプロジェクトを新規作成すると、プロジェクトの中にdocker-compose.ymlファイルができます。
【Windows11での画面】
このファイルには、Dockerを使ってLaravelプロジェクトを動かす時の設定が定義されています。
デフォルト状態では、上部は、次のようになっています。
【docker-compose.yml】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# For more information: https://laravel.com/docs/sail version: '3' services: laravel.test: build: context: ./vendor/laravel/sail/runtimes/8.1 dockerfile: Dockerfile args: WWWGROUP: '${WWWGROUP}' image: sail-8.1/app extra_hosts: - 'host.docker.internal:host-gateway' ports: - '${APP_PORT:-80}:80' - '${VITE_PORT:-5173}:${VITE_PORT:-5173}' environment: WWWUSER: '${WWWUSER}' LARAVEL_SAIL: 1 XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' volumes: - '.:/var/www/html' networks: - sail depends_on: - mysql - redis - meilisearch - mailhog - selenium |
PHPのバージョンを変えるには、build:contextとimageを変えていきます。
② contextを変更
contextでは、Laravelのvendorディレクトリの中にあるディレクトリを参照しています。
具体的には、vendor/laravel/sail/runtimesの中です。
この中でPHPのバージョンも指定されています。
2022年11月8日現在、下記のPHPバージョンがデフォルトで入ってきますが、この中から、プロジェクト用のPHPを設定します。
- 7.4
- 8.0
- 8.1
- 8.2
現在のところ、Laravelのバージョン9でプロジェクトを作ると、デフォルトでは、PHP8.1が使われます。もしPHPのバージョンを8.1から8.0にしたいといった場合には、contextの部分を下記のように変えます。
【変更前】
1 |
context: ./vendor/laravel/sail/runtimes/8.1 |
【変更後】
1 |
context: ./vendor/laravel/sail/runtimes/8.0 |
③imageを変更
imageも変えておきましょう。
【変更前】
1 |
image: sail-8.1/app |
【変更後】
1 |
image: sail-8.0/app |
imageは、コンテナに読み込まれる元となるファイルです。
image(イメージ)と聞くと画像を連想しちゃいますが、画像ではありません。dockerでは、イメージは「コンテナの中に入れる元データのようなもの」と考えておいてください。
変更後のdocker-compose.ymlファイルは下記のようになります。
【PHPバージョンを8.0にするときのdocker-compose.yml記述例】
④変更前のPHPバージョンを確認
sail php –version を実行して、phpバージョンを確認しておきましょう。
1 |
sail php --version |
⑤コンテナイメージの再構築コマンドを実施
その後、下記コマンドを実行します。コンテナイメージを再構築します。数分かかりますので、気長に待ちましょう。
1 |
sail build --no-cache |
⑥パッケージの更新
再びコマンドを入れられるようになったら、下記を入れて既存のパッケージも更新します。
1 |
sail composer update |
⑦ sailを再起動
Laravel Sailを再起動します。
1 |
sail restart |
再び sail php –version を行って、バージョンが変わっているかチェックしておきましょう♪
さいごに
無事、PHPバージョン変わりましたか?
なおLaravelは、現在の最新版Laravel9では、php8.0以上が必要です。Laravel8では、php7.3以上となります。
バージョンアップごとに、phpのバージョンが上がっている感がありますね。
わたしが運営している学習サイト【Laravelの教科書】では、最新のLaravel9を使ったLaravelの使い方を分かりやすく解説しています。
Laravelの使い方を学びつつ、フォーラムサイトを作成していく内容になっています。
【Laravelの教科書で作成する画面例】
基礎編は無料です。詳しい内容を知りたいと思ったら、下記ボタンをクリックしてくださいね。