Help us understand the problem. What is going on with this article?

VCCW にインストールされている PHP のバージョンを変更する

More than 1 year has passed since last update.

VCCWには、PHP7.0 がプリインストールされていますが、古いバージョンの PHP も利用できるようにしてほしいとのリクエストもちらほら見聞きしますので、VCCW の PHP のバージョンを切り替えるためのシェルスクリプトを作りました。

https://github.com/vccw-team/change-php-version

使い方

直接コマンドを実行する

最も簡単な方法は、以下のコマンドをゲストマシン内で実行することです。

$ curl https://raw.githubusercontent.com/vccw-team/change-php-version/master/run.sh | bash -s -- <php-version>

<php-version>のところには、5.6 とか 7.2 とかのバージョン番号を入力してください。

以下の例は、PHP 5.6 をインストールしています。

$ curl https://raw.githubusercontent.com/vccw-team/change-php-version/master/run.sh | bash -s -- 5.6

起動時に自動実行する

VCCW は、Vagrantfile と同じディレクトリ内に provision-post.sh というファイルがあると、プロビジョニングの最後に自動的に実行します。

この場合、provision-post.sh に以下のように記述してください。

#! /usr/bin/env bash

set -ex

curl https://raw.githubusercontent.com/vccw-team/change-php-version/master/run.sh | bash -s -- 7.2

ファイルの設置が完了したら vagrant upvagrant provision を実行してください。

ちなみにこのファイルを ~/.vccw というディレクトリに設置すると、すべてのマシンのプロビジョニング時に毎回実行されるようになります。

サポートしている PHP のバージョン

現時点では PHP 5.6 以降です。

PHP のインストールには、ppa:ondrej/php を使用しており、これはセキュリティサポートが提供されているバージョンのみをサポートしていきますよとのことなので、古いバージョンを使っている場合はさっさと新しいバージョンにしましょう。

注意

複数バージョンの PHP のインストールについて

複数のバージョンの PHP を入れて何度か切り替えているとセグメンテーションフォールトが出たりしました。

たとえば全部のバージョンの PHP をインストールして、頻繁に切り替えるみたいなユースケースは想定しておりません。

PHP の mcrypt モジュールについて

PHP の mcrypt モジュールは、10年以上メンテナンスされていないということで、PHP 7.2 から非推奨となりました。

このスクリプトでは、PHP7.2 以外のバージョンでもインストールしておりませんので、必要な場合は各自インストールする必要があります。

(上述の provision-post.sh を使用すれば簡単ですよね。)

VCCW にプリインストールされる PHP のバージョンについて

WordPress 本体が、公式に推奨する PHP のバージョンは、まもなくリリースされる WordPress 4.9.5 から PHP7.2 となります。(動作保証環境は引き続き PHP5.2 以上)

VCCW にプリインストールする PHP のバージョンも、近い内にアップグレードすると思います。

miya0001
Geolonia という会社で地図を作ってます。以前は WordPress の WP-CLI のコミッターをしたりしてました。
https://blog.geolonia.com/
tilecloud
地図専用クラウドサービスを提供するスタートアップ
https://geolonia.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away