2026年10月22日

PHPのセキュリティアップデート(修正版)を適用する方法と注意点


宮島で白玉ぜんざいをいただく      



サーバサイド・スクリプト言語である「PHP」は,Web基盤で最も重要なソフトの一つであり,それに脆弱性が発見された場合はできる限り早くセキュリティアップデート(修正版)を適用する必要があります。

特に,Apache2やNginxなどに関わる場合はWebの中核を担うため,なおさらです。

そこで今回は,Ubuntu上で稼動する「PHP」のセキュリティアップデート(修正版)の適用方法について実証します。

PHPは8.3,Webサーバアプリはapache2に限定します。また,失敗する場合もありますので,バックアップを十分取得した後,実施することが大切です。


【実証前提条件】
・Linux   : Ubuntu  24.04 LTS(lsb_release -a)
・Apache2 : 2.4(apache2 -v)
・PHP : PHP8.3.2(php -v) ー> PHP8.3.36

それでは始めます。




  1. インストールするPHPバージョンの確認

Webサーバの重要な構成言語の一つにPHPがあります。このPHPはWebアプリを開発する上で有用な関数がとても多く使いやすい特徴があります。

そのため,レンタルサーバなどでは簡単にバージョンアップできる仕組みを導入している処も沢山あります。

また,PHPはWebサーバアプリであるApache2やNginxと密接な関係があり,実質的にWebサーバアプリ上で動作しているともいえます。

しかし,Apache2やNginxではPHPの動かし方に違いがあり,Apache2はPHPを取り込んだ形でのモジュール操作型ですが,Nginxは別のアプリ「php-fpm」に操作を依頼する型になっています。

そこで今回は,コマンドによるApache2上のPHPセキュリティアップデートの適用方法について学習したいと思います。
次のコマンドを入力して,現在インストールされているPHPのバージョンを確認します。

Linuxコード

php -v


【インストールされていたバージョン例】

php 8.3.2

このPHPにセキュリティ修正版である「php 8.3.36」をインストールしてみたいと思います。



2.aptコマンドにPHP8.3の最新リポジトリを取得

一般的にLinuxのバージョンアップは「sudo apt update」と「sudo apt upgrade」というコマンドを使いますが,緊急的なセキュリティアップデートの場合などは,先に最新リポジトリを入手する必要があります。

公式のPHPサイトから取得するのが通常ですが展開が難しいので,リポジトリサードパーティ(Ondřej Surý氏)のリポジトリから直接PHPを上書き取得します。

Linux環境で次のコマンドを入力します。

Linuxコード

sudo add-apt-repository ppa:ondrej/php -y



   3. aptの最新版アップデート
次に定番の作業ですが,aptコマンドを最新版にします。次のコマンドを入力します。

Linuxコード

sudo apt update
sudo apt upgrade



  4. PHPアップグレードを実行( 8.3版に上書き)

取得したバージョンのリポジトリをインストールします。

Linuxコード

sudo apt --only-upgrade install "php8.3*" -y


 continueの許可yesを求められますので"-y"を入れておきます。

※これらのコマンドで、脆弱性が修正された PHP 8.3.36(またはそれ以降)へとアップデートされます。


【注意】
インストールに伴い,エラーが出現する場合があります。

①エラー例(--only-upgradeでエラー出力)

この場合は次のコマンドを入力してみてください。

Linuxコード

sudo apt install --only-upgrade php8.3 php8.3-cli php8.3-common -y


その他のエラーが出現する可能性があります。エラーメッセージが出た場合は,その都度,インターネットで調べるしかないと思います。



  5. Webサーバ(Apache2)の再起動とバージョン確認

Webサーバー(Apacheなど)を再起動のため,次のコマンドを入力します。

Apache2を再起動して,新しいバージョンのApavhe2を立ち上げます。次のコマンドを入力します。

Linuxコード

sudo systemctl restart apache2


【参考】
Nginx(php-fpm)をお使いの場合は次のコマンドになります。

Linuxコード

sudo systemctl restart php8.3-fpm
sudo systemctl restart nginx

目的のバージョンになっているかを,次のコマンドで確認します。

Linuxコード

php -v


【表示例】

PHP 8.3.36

このように表示されれば完了です。



  6. WordPressの確認

最後に,WordPressを使っている方は,WordPressからPHPのバージョンを確認します。
  1.  WordPressの管理画面にログインします。
  2.  左側のメニューから 「ツール」 ➔ 「サイトヘルス」 をクリックします。
  3.  画面上部にある 「情報」 タブをクリックします。
  4.  ずらりと並ぶ項目の中から 「サーバー」 というメニューをクリックして開きます。
  5.  その中にある 「PHP バージョン」 の欄を確認します。
ここに「 8.3.36」 と表示されていれば、WordPress側にも無事パッチが適用されています!




  7.まとめ

今回は,PHPセキュリティアップデート(修正版)の適用方法について,備忘録的に纏めました。

簡単な作業ですが,セキュリティ上重要ですので,脆弱性の有無などを定期的に確認し,対応しておくことが望ましいです。

アプリのアップデートでは,予期しないエラーが多数出現しますので,エラー処理についてはインターネット上でググる必要が生じる場合があります。

何が起こるかわかりませんので,どうかバックアップを取得し,いつでも戻せる体制でご検討ください。

実証は,PHP8.3しかやっておりませんが,やり方は同じだと思います。最後にいつも最新のリポジトリを提供して下さっているサードパーティのOndřej Surý氏に感謝申し上げます。


それでは,楽しいITリテラシーライフをお過ごしください。



 (ご注意)情報の正確性を期していますが,実施される場合には自己責任でお願いします。


0 件のコメント: