9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

使い方

直接コマンドを実行する

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

$ 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 のバージョンも、近い内にアップグレードすると思います。

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?