schedule2019-04-12

Laradockでphpのバージョンを変更する

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のバージョンを確認する。

phpinfo

出来た!

参考

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の基本的な機能について学べます。

PHPフレームワーク Laravel入門

  • バージョン:Laravel 5.4
  • OS:Windows, Mac OS対応

注意:HTML/CSSが解かる人向けです。基本からちょっと外れたこと(既存のDBを使う方法など)は載っていません。