Tag Archive PHP

PHPアイキャッチ

他のプログラム言語やスクリプト言語と同様に、PHPにはバグの修正・新しい機能の追加を行うアクティブサポート期限と脆弱性に対する修正を行うセキュリティサポート期限があります。

公式のPHPのサポートは、アクティブサポートを2年間の後、セキュリティサポートを1年間の計3年間というのが通例となっています。

セキュリティサポート期限が過ぎたPHPを使用し続けることは基本的に推奨しませんので、WordPressなども含む含むPHPを使ったWebサイトは以下の「PHPのセキュリティのバックポートサポート期間」が過ぎる前に、PHPのバージョンアップと、そのバージョンへ対応したWebサイトのアップデートを行っていただくことをお勧めします。

アップデートするPHPバージョンに対応したWebサイトのアップデートについて

WordPress、EC-CUBEなどの汎用CMSをご利用の場合

アップデートするPHPバージョンに対応した汎用CMSのアップデートと、使用するプラグインもそのPHPバージョンに対応したバージョンへアップデートします。ただし、使用するCMSやプラグインによっては、新しいPHPバージョンに対応していない場合がございます。

 

スクラッチ開発したWebシステムの場合

PHPのバージョンアップすることで、エラー表示や不具合が出る場合があります。

 

 

 

PHPのセキュリティのバックポートサポート期間

 

PHPはリリースから3年間でサポートが終了しますが、OSによって公式サポートのセキュリティサポートが終了したものがインストールされる場合があります。

この場合、脆弱性はバックポートによって対策されます。

従って、各PHPバージョンについて問題なく利用できる※1期間は以下の通りとなります。

 

※1 あくまでCVEによって指摘された脆弱性に対しての修正であり、完全にセキュリティを担保するものではありません。また、バックポートサポートによる対応は公式のPHPで行われるものと比べ遅い為、その期間脆弱性に晒されることになります。

 

RHEL 9 / AlmaLinux 9 / Rocky Linux 9 ※2の場合

PHPバージョンサポート終了日サポートの状態
8.0 2032/05 有効(2023/12現在
8.1 2025/05 有効(2023/12現在

 

RHEL 8 / CentOS Strem 8 / AlmaLinux 8 / Rocky Linux 8 ※2の場合

PHPバージョンサポート終了日サポートの状態
8.0 2023/11 終了
7.4 2029/05 有効(2023/12現在
7.3 2021/11 終了
7.2 2021/05 終了

 

RHEL 7 / CentOS 7 ※2の場合

PHPバージョンサポート終了日サポートの状態
7.11 2024/06/30 有効(2023/12現在

 

※2 弊社の共用サーバーで利用しているOS及び保守対応しているOSです。他社サーバーご利用の場合は、異なる場合がございます。

 

 

共用サーバーのPHPセキュリティサポート

弊社がお勧めしているXサーバー含め、他社が提供する共用サーバーでのPHPのバージョンは、そのサーバーによって異なっています。Xサーバーでは、複数のバージョンから選択出来ます。

脆弱性に対する対応は、サポートが有効なPHPしか利用できない場合、OSのバックポートに依存している場合、そのサーバーで独自に対応している場合などもサーバーによって異なります。利用できるPHPバージョンを知りたい場合は、そのサーバー会社へお問い合わせください。※3

※3 弊社お取引のお客様で、サーバー接続情報をお知らせしていただいている場合は、弊社で調べることも可能です。(料金はかかりません)

なお、多くのサーバー事業者の場合、特定のPHPバージョンのサポートが終了する場合、そのPHPバージョンは利用不可になり、半年~1年前には予告がされると思います。

 

PHPの公式サポート期限

 

公式のPHPではリリースから2年間がアクティブサポート期間とされ、その後1年間がセキュリティサポート期間とされリリースから3年間でサポートが終了します。

但しバックポートによりサポートが終了したものでも、利用中のOSの期間内であれば、脆弱性の対応は行われます。

 

PHPバージョン初回リリース日セキュリティサポート期限サポートの状態
8.3 2022/11/23 2026/11/23 有効(2023/12現在
8.2 2022/12/08 2025/12/08 有効(2023/12現在
8.1 2021/11/25 2024/11/25 有効(2023/12現在
8.0 2020/11/26 2023/11/26 終了
7.4 2019/11/28 2022/11/28 終了
7.3 2018/12/06 2021/12/06 終了
7.2 2017/11/30 2020/11/30 終了
7.1 2016/12/01 2019/12/01 終了
7.0 2015/12/03 2018/12/03 終了
5.6 2014/08/28 2018/12/31 終了
5.5 2013/06/20 2016/07/10 終了

 

より正確なサポート期間は、公式サイト(英語)をご確認ください。

PHPのサポート期限の関連記事

この記事には、以下の関連記事がございます。合わせてご覧ください。

PHPアイキャッチ

PHPのサポートバージョン

 

他のプログラム言語やスクリプト言語と同様に、PHPにはサポートされるバージョンがあります。

例えば同じWindowsでもXP、Vista、Windows7、10…といった様にリリースされてから、数年後に一新してそれまでの古いバージョンは開発(更新)が終了となります。

これと同様に、PHPもそのバージョン(PHP7、PHP8…)はリリース後、数年後には開発(更新)が終了となります。PHPのメジャーアップデートは、およそ3年周期で行われています。

 

 

PHPとは

お客様のウェブサイトやウェブシステムを開発する為に利用するプログラム言語のひとつです。CMS(WordPress含む)を使ったサイトや、ECサイト、問い合わせフォームなど単純に情報を見せるのではなく、ユーザーに合わせて表示内容を変えたり、処理したりする機能を実装する為に利用することが多い言語です。

 

PHPの新しいバージョンで改善されること

PHPの新しいバージョンでは次の様な事が行われます

  • 新しい機能の追加
  • パフォーマンスの向上(処理がより高速となる為、サイト回遊のストレスが軽減する)
  • 新たなセキュリティ対策

 

PHPのサポート期間に行われること

アクティブサポート

通常リリースから2年間は、アクティブサポート期間として次の様なアップデートが行われます。

  • 新しい機能の追加
  • バグの修正
  • 脆弱性への修正

 

セキュリティサポート

アクティブサポート期間の後、1年間は脆弱性への対応が行われます。またOSのリポジトリ(そのOSのソフトウェア保管場所)で用意されているPHPはバックサポート期間が設けられており、このサポート期間は発覚した脆弱性に対して対応されます。

 

新しいバージョンのPHPへの切り替え

 

PHPは利用中のサーバーに対してインストールされているものなので、新しいバージョンのPHPが利用できるか否かは利用中サーバーの事情によってとなります。

従って、新しいバージョンのPHPに切り替えたくても、サーバー側が対応していない関係で切り替えできないという場合もあります。サーバーが新しいバージョンのPHPに対応しているか否かはご利用中のサーバー事業者へご確認ください。

 

弊社提供のサーバーの場合

弊社提供の共用サーバーサービス(マネジメントプラン含む)をご利用のお客様は、バージョンの指定はできませんが、サポートされているPHPをインストールしています。

 

弊社がお勧めしたサーバーの場合

root権限がある(AWS、専用サーバー、VPS、クラウド)サーバーの場合

有償となりますが新しいバージョンのPHPをインストール、設定を行います。ただし既にサポートが切れているOSをご利用(CentOS6など)のお客様は、サポート中のOSに切り替え(有償)も含めてお願いすることになります。

サーバー保守サービスご利用の場合

サーバー保守サービスご利用の場合は、ご指示いただければ希望のバージョンのPHPへのバージョンアップ、初期設定を行います。

 

Xサーバーの場合

Xサーバーは、複数のバージョン※からドメイン単位で切替が出来ます。

※サポートが終了したPHPも利用できますが、古い順から順次利用不可となっていきます。

 

 

既存のPHPから新しいバージョンのPHPへ切り替えした場合の影響

 

PHPをバージョンアップすると、それまでのPHPバーバョンを利用して開発されたWebサイトはエラー表示が出たり、画面が真っ白になる、一部分が表示されないなど、何等かの不具合が発生する可能性がございます。その場合は対象のWebサイトに対し不具合解消の為の修正を施す必要がございます。

 

Webサイト保守サービスご利用の場合

Webサイト保守サービスをご利用の場合は、バージョンアップによって生じた不具合解消もサービスに含まれております。

 

 

サポートの終了したPHPを使い続けることの影響

 

サポートが終了したPHPを使い続けると次の様な影響が考えられます。

セキュリティリスク

セキュリティ更新が提供されない為、脆弱性が発見されても修正されません。

他のサーバーアプリケーションと比べ、脆弱性についてあまり話題になりませんが、PHPも他のサーバーアプリケーション同様に多くの脆弱性が発見され、その度に修正されています。例えば、2016年は特にPHPのセキュリティ脆弱性の問題が多く発生した年で、100件以上が報告されました。

 

WordPressを含む汎用型CMSがアップデートできない→セキュリティリスク

WordPressの様な汎用CMSは、定期的にアップデートされています。このアップデートには新機能の追加・バグの修正・脆弱性に対する修正が含まれています。

多くの汎用CMSのアップデートは、サポートが有効のPHPでの動作が前提ですので、古いPHPのまま、その汎用CMSをアップデートするとエラー表示がされたり、不具合が発生したり、最悪完全に動作しなくなってしまうことがございます。

その影響を考えそのCMS自体は、警告を出しつつも古いPHPでも動作する様に設計されていることが多いのですが、CMSに後から追加できるプラグインは不具合が発生する場合が多いです。

その為、そのCMSやプラグイン自体をアップデートできないという状態となります。そうなると、PHPとCMS(プラグイン含む)両方の脆弱性を抱えたまま運用することになる為、よりセキュリティリスクがあります。

 

ご利用中のPHPのバージョンアップについての関連記事

この記事には、以下の関連記事がございます。合わせてご覧ください。

WordPress

PHPはWordpressを構成する最も重要なプログラム言語です。従って、使用するPHPをバージョンアップしたり、逆にWordpress側をバージョンアップするとWebサイトに不具合が出ることがあります。

理想は、WordPressとインストールされたプラグインを常に最新のバージョンにアップデートして、サポートが有効なPHPバージョンを利用することですが、利用しているサーバーの事情や、お客様のご予算の都合上難しい場合は、以下をお読みいただいた上で運用方針を決定してください。また、各ご事情を考慮した上でお客様に最適な運用方法をご提案(料金はかかりません)することも可能ですので、お気軽にご相談ください。

 

また、弊社がお客様に代わってWordpressとインストールされたプラグインを常に最新のバージョンにアップデート→動作確認→不具合が出た場合は修正を定額料金で行うお得な保守サービスもご用意しております。

 

 

WordPressが動作するPHPバージョン

WordPressは、どのバージョンのPHPでも動作するという訳ではありません。Wordpressのバージョンによって、対応するPHPバージョンがあります。例えば2023年12月現在で最新のVer6.4のWordpressでは以下の必要条件となります。

メーラー名OS
PHP バージョン7.4以上
MySQL バージョン5.7以上
MariaDB バージョン10.3以上

※ データベースのバージョンで、WordpressはMySQLかMariaDB(MySQL互換のDBサーバー)で動作します。

現在のWordpressサイトを新しいバージョンのPHPへ変更した場合の影響

WordPressもPHPも最新の状態で運用することが望ましいのですが、Wordpressサイトで利用するPHPを新しいバージョンのPHPへ変更した場合、サイト自体に不具合が発生する場合がございます。

具体的には以下の様に不具合が発生します。

 

  • サイトのページに英語のエラーメッセージが表示される
  • サイトのページが真っ白になってしまう
  • WordPress重大なエラーが表示される
    Wordpress重大なエラー
  • サイトのページに英文でエラーメッセージが表示される・体裁崩れが起きている
  • サイトの一部機能が動作しない
  • 管理画面でエラー表示が表示される
  • 管理画面で一部機能が動作しない
  • 特定のプラグインが動作しない

 

上記の様な現象が発生した場合は、Webサイトを更新する必要がございます。具体的には以下の通りです。

テーマファイルが原因の不具合

テーマファイルとは弊社が制作したお客様のサイトを構成する為のPHPで制作したテンプレートファイルです。PHPで制作している為、新しいバージョンのPHPで動作しない又はエラー表示される場合がございます。

その場合、弊社では以下の対応をいたします。

 

保守サービスご利用の場合・納品後(新規)6か月以内の場合

多くの不具合は、保守サービス内で対応する為、追加費用などはかかりません。また、納品後6か月以内の場合は保守サービス同様の対応を致します。

 

サイト更新をご依頼いただいた場合

Webサイトの更新をご依頼いただいたWordpressサイトは、更新の種別によって対応が異なります為、個別にご対応させていただいています。

 

上記以外のお客様

有償にて動作検証・不具合修正を行っていますので、ご相談ください。

 

利用しているプラグインが原因の不具合

プラグインはWordpressとは別の開発者がサポートしている関係で、新しいバージョンのPHPでの動作は利用プラグイン次第ということになります。対応されるまでの期間もプラグインによって異なる為、一旦は新しいバージョンのPHPへの変更を保留し、プラグインの更新を待つことをお願いします。

 

一定期間経過してもプラグイン更新が無い場合

一定期間経過してもプラグイン更新が無い場合は、そのプラグイン開発者がサポートを止めてしまっている可能性がございます。その場合、そのプラグインがWebサイトにとっての重要度が低い場合は、利用の停止をお勧めします。重要度の高いプラグインの場合は、代替策(代替プラグインの利用など)を検討する必要があります。

 

 

古いPHPでWordpressを運用している場合

WordPressが対応外としているPHPバージョンの場合、Wordpressのダッシュボードに以下のメッセージが表示されます。

※ 管理画面左メニューの「ダッシュボード」をクリックすると表示します。ただしサイトによっては、表示しない設定にしてある場合があります。

 

WordpressのPHP警告

 

上記の場合、対応しているPHPのバージョンと利用しているPHPのバージョンが近いので、問題なく動作していますが、あまりにも古いPHPバージョンだと管理画面にアクセスしてもエラー表示が表示されたり、画面が真っ白となったりしてログインすることも出来ない場合があります。

プラグインの場合

プラグインもWordpress同様にPHPで構成されています。プラグインは、Wordpressとは別の開発者がサポートしている為、全てのプラグインが最新のWordpressが推奨するPHPバージョンに対応させているとは限りませんが、更新を頻繁に行っているプラグイン※ならば最新のWordpressに対応する形でアップデートされています。その為、プラグインが動作するPHPバージョンも新しいものに限られる場合がございます。その場合は、プラグイン一覧で以下の様に表示されます。

※ 弊社で制作したサイトは、特別な事情が無い限り更新サポートが頻繁に行われているプラグインを利用することをポリシーとしています。

 

古いPHPでのプラグイン更新表示

 

 

古いPHPでWordpressを運用し続けるリスク

古いPHPのままWordpressサイトを運用し続ける場合、直ちに影響がある場合ではありませんが、何れは対応しないと以下の様なリスクがあります。

WordPressが更新できない

WordPressがそのPHPに非対応となる為、Wordpressを更新できない状態になります。そうなると、プラグインも更新が出来なくなる(利用しているWordpressバージョンにプラグイン側が対応しなくなる)事になります。

そのままの状態でもサイト運用に問題ないので、即リスクがある訳ではございませんが、もしWordPressや利用しているプラグインに脆弱性が発覚した場合、そのセキュリティリスクに晒される状態になります。

 

プラグインが更新できない

WordPress同様に、プラグインがそのPHPに対応しなくなる為、プラグインの更新が出来なくなります。プラグイン更新には、脆弱性の対応も含まれるのでやはりセキュリティリスクに晒される状態になります。

 

WordPressやプラグイン更新を放置した実例

WordPressやプラグインを古いまま使用していたサイトで実際に次の様な実例がございました。多くの場合、セキュリティについて甘く考えており、事が起こってからあわてて相談されるケースが後を絶ちません。

WordPress4.7でサイト制作してそのまま利用し続けたケース

近年で最も大きなWordPressの脆弱性被害は、2017年にあった150万サイト以上が改ざん被害で、弊社のお客様もその被害に合いました。バージョン4.7.0およびバージョン4.7.1の「攻撃に対する認証が不要」、「リクエストを送るだけで改ざん可能」といった脆弱性が利用され、サイト内のリンクが全て不正サイトに誘導されるという改ざんを受けました。Wordpres管理画面からサーバー内の全てファイルに操作可能な状態であった為、どのファイルが改ざんされているか特定困難だったのと、定期的なバックアップを取っていなかったこと、弊社で制作したサイトではない為、納品時のバックアップも取得できないという状態だった為、結果的に一時的なサイト閉鎖とサイトを全て作り直すということになりました。

 

プラグインの脆弱性を放置したケース

利用しているプラグインの脆弱性が発覚していたにも関わらず、その脆弱性に対応したプラグインを更新せず使い続けていた為、被害に合いました。プラグインのSQLインジェクションの脆弱性でデータベースの中身を参照・改ざん。結果的に管理者パスワードを抜き取られてWordPressの最高権限を取得された後、サイト全体がアダルトサイトへ誘導する為のサイトへ作り替えられていました。このサイトは、バックアップがあった為、バックアップから復元した後、Wordpress本体と全てのプラグインを更新、FTP、DB含む全てのパスワードを変更、かつWP管理ページには、2段階認証を導入した上で、特定のIPアドレスからしか接続できない様にする対策をしました。SQLインジェクションの脆弱性は、DBの中身を全て参照されてしまう危険性がある為、もし個人情報を保管しているDBの場合、その個人情報が流出してしまうという危険性もあります。

HTML Snippets Powered By : XYZScripts.com