現在Laravelの教材を鋭意制作中です!完成まで今しばらくお待ちください

#12 LaravelのインストールとPHPのバージョン

この章では、Laravelのインストール手順とそれに対応するPHPのバージョン選定について解説します。

LaravelはPHP上で動作するフレームワークのため、PHPのバージョンや環境設定がアプリケーションの安定性に直結します。

Laravelはバージョンごとに必要なPHPの最小要件が定められており、たとえばLaravel 10では PHP 8.1 以上が求められます。

開発環境でこの要件を満たしていない場合、インストール時にエラーが発生するだけでなく、アプリケーションの実行中にも予期せぬ不具合につながる可能性があります。

そのため、Laravelをインストールする前に使用するPHPのバージョンを確認し、必要な拡張モジュール(mbstring や pdo_mysql など)が有効になっているかをチェックすることが重要です。

この章では、Dockerを用いた環境構築を前提として、Laravelのインストール手順とPHPバージョンの整合性確認を通じて、安定した開発スタートを切るためのポイントを整理していきます。

Laravelのインストール

今回はDockerを使用するという前提の下でLaravelのインストールを行います。

まずは前回の復習から。

1.PHPコンテナ内に入る

まずは Laravel をインストールする先である PHPコンテナのシェルに入ります。以下のコマンドをターミナルで入力します。

docker compose exec php bash

※ コンテナ名が php でない場合は適宜読み替えてください(例:app, backend など)

phpコンテナに入ることができたら、composerがインストールできているかを以下のコマンドで確かめてみましょう。

composer -v

インストールされていない場合はインストールします。

composer install

2. LaravelをComposerでインストール

composer create-project --prefer-dist laravel/laravel .

※1 .(ドット)は現在の作業ディレクトリにインストールする指定です。
※2 Laravelの最新安定版が自動的にインストールされ、必要な依存パッケージも含まれます。

インストールしたいLaravelのバージョンを指定する場合は以下の通り指定します。

composer create-project --prefer-dist "laravel/laravel=8.*" .
composer create-project --prefer-dist "laravel/laravel=10.*" .

3. .env の準備と調整

Laravelをインストールすると、自動で.envファイルが生成されるので、以下の項目を調整しましょう。

APP_NAME=Laravel
APP_ENV=local
APP_URL=http://localhost:8080

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=laravel
DB_PASSWORD=laravel

※ DB_HOST=mysql の部分は docker-compose.yml のサービス名(MySQL側)に合わせます。

4. Laravelの動作確認

以下を入力してLaravel のバージョンが表示されれば、インストール完了です。

php artisan --version

ブラウザで http://localhost:8080 にアクセスし、「Laravel のウェルカム画面」が表示されれば正常に動作しています。

補足:エラーが出た場合

ブラウザで http://localhost:8080 にアクセスした際に、以下のようなエラーが表示されることがあります。

 

これは「権限不足です」と言うエラーで、特にWindowsを利用している場合に発生しやすいエラーですので、権限を付与してあげましょう。

sudo chmod -R 777 src/*

Windowsでは開発環境としてWSLを使用しているため、どうしてもファイルの権限で問題が起こりやすいです。

このコマンドはWindowsを使用している方は非常によく出るコマンドですので、合わせて覚えておきましょう。

5.時刻設定

Laravelのインストールが完了し、動作確認までできたら最後に時刻の設定を行っておきましょう。

アプリケーションの動作において時刻の設定は非常に重要で、Laravelではログ、バリデーション、通知、DBのtimestamp など、あらゆるところで影響します。

Laravelのconfig/app.phpへと進み、以下の項目を探してください。

'timezone' => 'UTC',

このままだと世界標準時の時刻となってしまっているため、日本時間に変更しておきましょう。

'timezone' => 'Asia/Tokyo',

以上で日本時間へ変更することが可能となります。

もし、どうしても日本時間に変更されたかどうか確認したい、と言う方がいらっしゃったら、以下のコマンドを入力してみてください。

php artisan tinker

現在の時刻が表示されていればOKです。もし時差がある場合は以下のコマンドを入力してみてください。

php artisan config:clear

次章:#13 GitHub連携 に進む