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を活用して作成しています。