phpをインストールしたくない、phpのバージョンを変えたくないなど、既存環境を壊したくない場合に。 PHP, Composerを含むDockerコンテナを作成し、依存関係を解決する。
git clone https://github.com/iwarei/react-laravel-template-be.git
cd react-laravel-template-be
- 下記コマンドを実行。Laravel10のSailではPHP8.2, 8.1, 8.0から選択できるので必要に応じて書き換える。
docker run --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/var/www/html" \ -w /var/www/html \ laravelsail/php82-composer:latest \ composer install --ignore-platform-reqs
.env.example
のDB_DATABASE
を開発するアプリ名に変更する。cp .env.example .env
./vendor/bin/sail up -d
※シェルエイリアスの設定をすると、以後sail up -d
で立ち上げることができるようになるので、便利。sail artisan key:generate
sail artisan migrate
※トラブルシューティング
- 下記のようなエラーが発生した場合。
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] Connection refused
env
を下記のように修正。
DB_HOST=mysql
再度、sail artisan key:generate
を実行。
- 下記のようなエラーが発生した場合。
Illuminate\Database\QueryException
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for mysql failed: Temporary failure in name resolution
基本発生しないはずだが、.env
を下記のようになっていることを確認。
DB_USERNAME=sail
DB_PASSWORD=password
docker-compose down --volumes
もしくはsail down --rmi all -v
を実行。
その後sail up --build
を行い、http://localhost
にアクセスできることを確認したらCTRL+C
でいったん中断。手順6から行う。
git clone https://github.com/iwarei/react-laravel-template-be.git
cd react-laravel-template-be
php -r "readfile('https://getcomposer.org/installer');" | php
php composer.phar install
php artisan key:generate
php artisan migrate