EC2サーバーでPHP7.2からPHP8.1およびPhalcon5へのアップデート手順

AWS EC2上で運用しているWebサーバーのPHPとPhalconフレームワークを最新バージョンにアップデートすることで、セキュリティの強化や新機能の活用、パフォーマンスの向上が期待できます。この記事では、Amazon Linux 2を使用したEC2インスタンスで、PHP7.2からPHP8.1、そしてPhalcon5へのアップデート手順を詳しく説明します。

アップデート作業の流れは以下のようになります。

  • サーバーにインストール済みのPHPパッケージの確認

  • PHP7.2のアンインストールおよびPHP8.1のインストール

  • Phalconフレームワークのバージョンアップ(Phalcon5のインストール)

  • その他必要な設定と確認

1. 現在インストールされているPHPパッケージの確認

まず、サーバーにインストールされているPHPパッケージの詳細を確認します。現在のPHPバージョンとインストールされているモジュールを把握するため、以下のコマンドを実行します。

yum list installed | grep php

これにより、インストールされているすべてのPHP関連パッケージが表示されます。

2. インストール可能なPHPバージョンの確認

次に、Amazon Linux Extrasを使用してインストール可能なPHPバージョンを確認します。Amazon Linux ExtrasでサポートされているPHPバージョンの一覧を取得するには、以下のコマンドを実行します。

amazon-linux-extras list available | grep php

これにより、利用可能なPHPのバージョンが表示され、PHP8.1がインストール可能であることを確認できます。

3. PHP7.2および関連パッケージのアンインストール

PHP8.1をインストールする前に、既存のPHP7.2および関連パッケージをアンインストールします。以下のコマンドで、PHP7.2とその関連モジュールを削除します。

yum -y remove php-*

これで、PHP7.2のすべてのパッケージが削除され、システムに影響を与えることなく新しいバージョンをインストールできるようになります。

4. PHP7.2のチャンネルを無効化

次に、PHP7.2のリポジトリを無効化します。これにより、PHP7.2が誤って再インストールされるのを防ぎます。

amazon-linux-extras disable php7.2

5. PHP8.1のチャンネルを有効化

PHP8.1をインストールするために、Amazon Linux ExtrasでPHP8.1のリポジトリを有効化します。

amazon-linux-extras enable php8.1

ただし、Amazon Linux Extras経由でインストールすると、依存関係の問題が発生することがあります。そのため、Remiリポジトリを使用してPHP8.1をインストールする方法を推奨します。

6. Remiリポジトリのインストール

Remiリポジトリをインストールすることで、依存関係の問題を回避し、最新のPHPバージョンをインストールできます。まず、EPELリポジトリをインストールします。

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm rpm -ivh epel-release-7-14.noarch.rpm

その後、Remiリポジトリをインストールします。

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

これでRemiリポジトリがインストールされ、PHP8.1を安定してインストールできるようになります。

7. PHP8.1および必要なパッケージのインストール

以下のコマンドを実行して、PHP8.1と主要なモジュールをインストールします。

yum install php81-php-common php81-php-mbstring php81-php-mysqlnd php81-php-pdo php81-php-process php81-php-sodium php81-php-xml php81-php-pecl-igbinary php81-php-pecl-memcache php81-php-pecl-memcached php81-php-pecl-msgpack php81-php-pecl-mysql php81-php-pecl-psr php81-php-pecl-redis5 php81-php-pecl-zip

このコマンドにより、PHP8.1とその関連モジュールがインストールされます。

8. Phalcon5のインストール

Phalconフレームワークを使用している場合、PHP8.1対応のPhalcon5をインストールする必要があります。以下のコマンドを実行します。

yum install php81-php-phalcon5

これで、最新のPhalconフレームワークがインストールされ、PHP8.1環境で利用可能になります。

9. その他のPHP関連パッケージのインストール

PHP環境で必要となるCLIツールやその他の開発パッケージをインストールします。

yum install php-cli php-fpm yum install php-pear yum install php-devel

これらのコマンドは、PHP CLIツール、FastCGI Process Manager(PHP-FPM)、PEAR、開発者向けのパッケージをインストールします。

10. php.iniの設定

PHPの設定ファイルphp.iniを編集し、拡張モジュールのパスを設定します。以下のディレクトリを設定してください。

extension_dir="/opt/remi/php81/root/usr/lib64/php/modules"

さらに、/etc/php.dディレクトリに必要な.iniファイルが揃っているか確認します。不足しているファイルは手動で追加します。

ls /etc/php.d

以下のようなファイルが存在することを確認します。

20-bz2.ini 20-curl.ini 20-fileinfo.ini 20-iconv.ini 20-pdo.ini 20-shmop.ini 20-sqlite3.ini 20-sysvshm.ini 20-xmlwriter.ini 30-mysqli.ini 30-xmlreader.ini 50-memcached.ini 20-calendar.ini 20-dom.ini 20-ftp.ini 20-mbstring.ini 20-phar.ini 20-simplexml.ini 20-sysvmsg.ini 20-tokenizer.ini 20-xsl.ini 30-pdo_mysql.ini 40-igbinary.ini 50-redis.ini 20-ctype.ini 20-exif.ini 20-gettext.ini 20-mysqlnd.ini 20-posix.ini 20-sockets.ini 20-sysvsem.ini 20-xml.ini 20-zip.ini 30-pdo_sqlite.ini 40-msgpack.ini 60-phalcon.ini

11. サービスの再起動

設定が完了したら、PHP-FPMとWebサーバー(NginxまたはApache)を再起動します。

systemctl restart php-fpm nginx

これで、新しいPHPとPhalconの設定が有効になり、Webサーバーが再び稼働します。

まとめ

この記事では、Amazon Linux 2上のEC2インスタンスでPHP7.2からPHP8.1、そしてPhalcon5へのアップデート方法を説明しました。アップデートすることで、最新の機能とパフォーマンス改善を享受し、よりセキュアなWebアプリケーション環境を構築できます。

作業後は必ず動作確認を行い、Webアプリケーションが問題なく動作していることを確認してください。

※この記事は、自分の作業メモをもとにAIを活用して作成しています。


この記事が気に入ったらサポートをしてみませんか?