Laradockでphpのバージョンを変更する手順です。
デフォルトがphp 7.2
でしたので、php 7.3
に変更しました。
php-fpm
を利用しています。
現在対応しているバージョンは以下の通り。
- 7.3
- 7.2
- 7.1
- 7.0
- 5.6
ディレクトリと構成
プロジェクト直下にlaradockとpublicを置く構成。 http://localhost/info.phpでphpのバージョンを確認できるようにしてある。
project
├─ laradock
| ├─ nginx
| ├─ php-fpm
| └─ .env
└─ public
├─ index.html
└─ info.php
./public/info.php
<?php
phpinfo();
./laradoc/.env
./laradock/.envの変更点。public
を表示するようにしている。
- APP_CODE_PATH_HOST=../
+ APP_CODE_PATH_HOST=../public/
- APP_CODE_PATH_CONTAINER=/var/www/
+ APP_CODE_PATH_CONTAINER=/var/www/public/
phpのバージョン
デフォルトのphpのバージョンは7.2でした。
./laradock/.env
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.3 - 7.2 - 7.1 - 7.0 - 5.6
PHP_VERSION=7.2
バージョンの設定とbuild
バージョンの変更は設定を変え、buildします。
1. PHP_VERSION
を変更する
./laradock/.env
# Select a PHP version of the Workspace and PHP-FPM containers (Does not apply to HHVM). Accepted values: 7.3 - 7.2 - 7.1 - 7.0 - 5.6
- PHP_VERSION=7.2
+ PHP_VERSION=7.3
5.6, 7.0, 7.1, 7.2, 7.3に変更できます。マイナーバージョンは各最新のものです。
2. php-fpmをbuildする
$ docker-compose build php-fpm
3. phpinfo()を確認する
Nginxとworkspaceを立ち上げる。
$ docker-compose up -d nginx workspace
http://localhost/info.phpでphpのバージョンを確認する。
出来た!
参考
Change php version in laradock
バージョンを変更して立ち上げるシェルスクリプトを公開しています。
#!/bin/bash
version=$1
echo 'changing Php Version to '$1;
###change version in env file
sed -i '.bak' "s/PHP_VERSION=.../PHP_VERSION=$1/g" '.env'
### Build fpm and cli for new version
docker-compose build php-fpm
docker-compose build workspace
### Restart Container to use new version of php
docker-compose down
docker-compose up -d nginx mysql workspace redis
Laravelのおすすめ参考書
こちらの書籍でLaravelの全体像が分かりやすいです。 MVCの概念の説明から開発環境の構築、Laravelの基本的な機能について学べます。
- バージョン:Laravel 5.4
- OS:Windows, Mac OS対応
注意:HTML/CSSが解かる人向けです。基本からちょっと外れたこと(既存のDBを使う方法など)は載っていません。
Docker Desktopの有料化が発表されたので対象かどうか確認した
Dockerschedule2021-09-12