Syntax Error.

[Sy] Amazon Linux にて PHP をアップデートする手順( PHP5.6 -> PHP7.0 )

2018/08/18

Amazon Linux にて PHP5.6 から 7.0 にアップデートする機会があったので、メモを残しておきます。

まず、インストール済みの PHP 関連のパッケージを確認。

$ yum list installed || grep php
php-fedora-autoloader.noarch         0.2.1-2.el6                   @epel
php-php-gettext.noarch               1.0.12-1.el6                  @epel
php-tcpdf.noarch                     6.2.13-1.el6                  @epel
php-tcpdf-dejavu-sans-fonts.noarch   6.2.13-1.el6                  @epel
php56.x86_64                         5.6.36-1.138.amzn1            @amzn-updates
php56-bcmath.x86_64                  5.6.36-1.138.amzn1            @amzn-updates
php56-cli.x86_64                     5.6.36-1.138.amzn1            @amzn-updates
php56-common.x86_64                  5.6.36-1.138.amzn1            @amzn-updates
php56-fpm.x86_64                     5.6.36-1.138.amzn1            @amzn-updates
php56-gd.x86_64                      5.6.36-1.138.amzn1            @amzn-updates
php56-jsonc.x86_64                   1.3.10-1.20.amzn1             @amzn-updates
php56-mbstring.x86_64                5.6.36-1.138.amzn1            @amzn-updates
php56-mcrypt.x86_64                  5.6.36-1.138.amzn1            @amzn-updates
php56-mysqlnd.x86_64                 5.6.36-1.138.amzn1            @amzn-updates
php56-pdo.x86_64                     5.6.36-1.138.amzn1            @amzn-updates
php56-process.x86_64                 5.6.36-1.138.amzn1            @amzn-updates
php56-tidy.x86_64                    5.6.36-1.138.amzn1            @amzn-updates
php56-xml.x86_64                     5.6.36-1.138.amzn1            @amzn-updates
phpMyAdmin.noarch                    4.0.10.18-1.el6               @epel

必要な作業

アップデートのために必要な作業は、

  1. php56 系のパッケージをすべてアンインストール
  2. php70 系のパッケージをインストール

となります。

PHP5.6 をアンインストール

まずは php56 系のパッケージを以下のようにアンインストールします。

$ sudo yum remove -y php56 php56-mbstring php56-mysqlnd php56-fpm php56-cli

インストールしていたパッケージ次第で、上記コマンドは多少変わりますが、

$ yum list installed || grep php

で php56 系のパッケージが残っていれば、

$ sudo yum remove -y php56-xxxx

のように一つ一つアンインストールしていきましょう。(依存性のあるパッケージがあれば、一度に複数のパッケージが勝手にアンインストールされたりします)

きれいに php56 系のパッケージがなくなったら、php70 系のインストールに移ります。

PHP7.0 をインストール

以下のコマンドで PHP7.0 と関連するパッケージをインストールします。

ここでは、PHP + MySQL の環境に必要な最低限のパッケージを指定していますが、他に必要なものがあれば追加してください。

$ sudo yum install -y php70 php70-mbstring php70-mysqlnd php70-zip php70-fpm

終わったら、インストールされたパッケージを確認します。

指定したパッケージに加えていくつか依存性のあるパッケージもインストールされているのがわかります。

$ sudo yum list installed | grep php
php70.x86_64                         7.0.30-1.29.amzn1             @amzn-updates
php70-cli.x86_64                     7.0.30-1.29.amzn1             @amzn-updates
php70-common.x86_64                  7.0.30-1.29.amzn1             @amzn-updates
php70-fpm.x86_64                     7.0.30-1.29.amzn1             @amzn-updates
php70-json.x86_64                    7.0.30-1.29.amzn1             @amzn-updates
php70-mbstring.x86_64                7.0.30-1.29.amzn1             @amzn-updates
php70-mysqlnd.x86_64                 7.0.30-1.29.amzn1             @amzn-updates
php70-pdo.x86_64                     7.0.30-1.29.amzn1             @amzn-updates
php70-process.x86_64                 7.0.30-1.29.amzn1             @amzn-updates
php70-xml.x86_64                     7.0.30-1.29.amzn1             @amzn-updates
php70-zip.x86_64                     7.0.30-1.29.amzn1             @amzn-updates

phpMyAdmin が必要な場合は、以下の記事を参考にしてみてください。

⇒ [Sy] Amazon Linux (2017.09-release) php7 の環境に phpMyAdmin をインストールする手順