ITコラム
レンタルサーバーは要注意!PHPバージョン更新によるEC-CUBE障害トラブル
近年、感染症流行による巣ごもり需要の影響を受け、ショップのECサイトを立ち上げる企業が増加しています。今まで店舗でしか購入できなかった商品が、自宅に居ながら気軽に購入できるようになりました。ECサイトの構築で、多くの企業に選ばれているEC-CUBEですが、その際に共有レンタルサーバーを利用していると、自動でPHPバージョンが更新されて障害が発生するリスクがあります。この記事では、PHPバージョンアップの重要性と更新時に起こりうる障害についてご紹介します。
◎自社ECサイトの構築はEC-CUBE
EC-CUBEは、日本企業である株式会社イーシーキューブが提供しているシェア国内No.1オープンソースのECサイト構築パッケージのことで、ECサイトの運営および管理に特化したコンテンツマネジメントシステムです。大手ECパッケージの多くは有料となっています。展開するビジネス規模や特性、自由度に合わせてシステム開発を行うと膨大な初期投資のリスクを背負うことになるため、構築する上での障害となりえます。一方で、EC-CUBEは無料で利用できるため、はじめやすいのが人気のポイントです。改変も自由にできるため、カスタマイズやプラグインの導入によって定期購入やBtoBサイト、オンライン予約など、多様な販売形態にも対応しています。
EC-CUBE には、ECサイトの運営に必要な基本機能があらかじめ備わっているため、必要な機能を探し回る必要がありません。日本国内の開発と制作環境が充実していることから、ECサイトの規模の大きさに関係なく利用することが可能です。ECの標準機能を利用するだけであれば、EC-CUBEの基本的なプログラムを利用するのが良いでしょう。インストールも無料でコストを抑えることができるため、取り掛かる障害は少ないと言えます。多くのオープンソースのECパッケージは海外製ですが、EC-CUBEは、日本製で国内中心に35,000店舗以上が導入しているパッケージです。EC-CUBEのサイト上でも、さまざまな構築事例が紹介されています。国内での導入実績が多いことも、安心して使用できるポイントと言えるでしょう。EC-CUBEでは、ECに必要な基本機能が標準で備わっているほか、追加機能はプラグインという形で提供されているため、必要な機能だけを導入することが可能となっています。
利用者のためのコミュニティの提供や豊富な情報も人気のひとつです。6.4万人のEC-CUBE利用者が登録する、利用者のためのコミュニティの場が提供されています。そこでは質問や会話しながら交流することが可能で、よくある質問を検索可能なサポートサイトや開発者向けのドキュメントサイト、ガイドブック等も充実しています。EC-CUBEでは、安全に運営するためのセキュリティ対策がまとめられているため、チェックシートやプラグインを使いながら対応することも可能です。
このように利用者へのサポートが充実しているEC-CUBEですが、実際に自社で運営しようとすると、さまざまな障害に見舞われる可能性があります。なかでもお問い合わせで多いのが、PHPバージョン更新後の障害です。EC-CUBEのバージョンには、対応するPHPバージョンが存在します。そのため、レンタルサーバーを利用する場合は、PHPバージョンが対応しているのかを確認する必要があります。
◎Web サイトの評価や安全性につながるPHPバージョンの更新
PHPとは、Webサーバー上で動くプログラミング言語のことを言います。HTMLに埋め込むことで動的なコンテンツを作成することが可能となり、Web開発などでよく使用されています。JavaScriptとの違いは、PHPはコードの実行をサーバー側で実施するため、そのコード内容はわからないという点です。
PHPは、コンテンツ管理システム付きのWebサイトや、お問い合わせフォーム、ブログやSNSなどのデータベースを使用するサイトやシステム作り最適で、データベースを使ったプロダクトが得意なのもPHPの特徴です。日本国内でのCMSシェア8割以上のWordPressにも利用されており、PHPで作られたWebサイトが多いことがわかります。
PHPのバージョンは、「PHP 4、PHP 5、PHP 7、PHP8」などがあり、モジュール関連の違いやオブジェクト仕様の違い、セキュリティなどが異なります。さらには、「PHP 7.4.32」「PHP 8.1.11」のように細かくPHPバージョンが更新されています。各PHPバージョンのサポートは3年間となっており、リリース後の2年間はアクティブサポートと呼ばれ、セキュリティ障害やバグ修正などのフルサポートが行われます。このアクティブサポート期間の終了後1年間は、重要なセキュリティ上の障害が発生した場合に備えてセキュリティサポートと呼ばれる期間が設定されています。つまり、リリース後に3年経過したPHPバージョンについては、使用は出来るもののサポートが受けられなくなるということです。もしレンタルサーバーを使用している場合は、PHPバージョンの対応が異なるため、複数のバージョンを管理画面で切り替えて利用することになります。古いPHPバージョンだとサポートされなくなり、セキュリティ障害が起こる恐れがあるため、推薦されているPHPバージョンを利用することが大切です。
最新のPHPバージョンを使う理由として、Web サイトがより早く表示されることがあげられます。PHP の最新バージョンは、以前のPHPバージョンよりも効率的に動作します。最新のPHPバージョンにアップグレードすると、以前のバージョンに比べてパフォーマンスが最大で約3倍〜4倍向上すると言われています。最新PHPにバージョンにすることによって、構築したサイトの表示速度の向上が見込まれます。表示が遅いサイトの場合は離脱率が懸念されますが、逆に速いと訪問したユーザーの滞在時間が長くなる傾向があります。速度が速いと検索エンジンに高く評価されるため、検索結果の表示順位が上がる可能性が高くなるのです。
またWeb サイトの安全性向上につながるのもポイントです。PHP はさまざまなサイトで使用されているため、ハッカーの標的となる恐れがあります。最新のPHPバージョンには最新のセキュリティ機能が備わっていますが、旧バージョンにはそのような機能は含まれていません。旧バージョンのままで運営サイトがハッキングされたとなれば、対応するにもコストがかかり、サイトの評判にも影響する恐れもあります。PHPのアップデートは、サイトの安全性を高める上でも重要なポイントなのです。
◎PHPバージョンの更新による障害
サイトを運営する上でも大切なPHPバージョンの更新ですが、画面にエラーメッセージが表示されたり、モバイル表示のときだけエラー障害が発生したりするなど、何らかの障害が生じることがあります。サイトが正しく表示されなくなる障害パターンでは、元々構築していたサイトに最新のプラグインやテーマが対応していないことがあります。その場合には、運営サイトの一部が正しく表示されなかったり、サイト全体が動かなくなったりする障害が出る可能性があるでしょう。特に機能を大幅にアップデートしたり、ロジック・仕様を変更したりする更新時は大きな障害が発生する恐れがあるため事前に検証し対策が必要です。
例えば、ECサイトを制作会社にて構築後、特に保守点検をせずに構築時の状態のまま利用していた場合。利用しているレンタルサーバーが自動でPHPをバージョンアップした結果、障害が出るようになったという事例があります。EC-CUBEのバージョンとPHPのバージョンがマッチしていないことが原因とされています。利用していたEC-CUBE4.0.2のシステム要件には、PHP7.1〜7.3対応とあり、現在のPHP7.4に未対応でした。そこでEC-CUBEも対応する4.1.0までバージョンアップが必要となりますが、一気には出来ないため4.0.2から4.0.3、4.0.3から4.0.4から4.1.0まで手順を踏んでバージョンアップを行います。しかしその間は、EC-CUBEのバージョンに対応するPHPバージョンを利用しなければなりません。EC-CUBE4.0.0〜4.01はPHP7.1〜7.2、4.0.2〜4.0.3はPHP7.1〜7.3、4.0.4以降はPHP7.1〜7.4対応となっています。EC-CUBEバージョンに未対応のPHPバージョンを使用してしまうと、障害が発生してしまう恐れがあるので注意する必要があります。そのため今回のケースの場合、まずPHP7.3のテスト環境を構築する必要があります。その上でEC-CUBE4.0.4にアップデート後、テスト環境を本来のPHP7.4へアップデートしてからEC-CUBEを4.1.0にアップデートします。PHPの更新など定期的にチェックしておかないと、このように障害の発生や、アップデート作業にも時間を要してしまいます。ほかにもPHP8.0では、JITをはじめさまざまな機能や仕様の変更が取り込まれました。そのためPHPをバージョンアップする際には、下位互換性のない変更点が多く、障害となりうる恐れがあります。事前にチェック出来ていても対応は難しく、共用サーバーにおいて自動でPHPバージョンが更新されてしまうとさらに修正の難易度が高くなってしまいます。
このように環境によっては、最新のPHPバージョンに対応できず、動作障害が起こる恐れがあるため注意が必要です。特にPHP 5からPHP 7は、大きく仕様が変わっているので、障害が起こりトラブルに発展する恐れがあります。特に、レンタルサーバーを利用している場合は、気を付けなければなりません。PHPバージョンは頻繁に更新しているため、知らず知らずのうちにバージョンアップされていることがあります。急に障害によってECサイトが画面が真っ白になってしまうと、アクセスができなくなるため機会損失につながってしまうのです。
障害が発生した際には、まずはPHPが原因ではないかと疑いましょう。もしPHPバージョンの更新を予定しているのであれば、万が一の障害に備えて事前にバックアップを作成しておき、状態を最新にアップデートしておきましょう。PHPバージョンの互換性をチェックできるプラグインを使用し、更新後の障害発生を回避しておくことが大切です。バージョンアップ作業は手間のかかる作業ではありますが、より良いサービスを提供するためにも障害が起こらないよう対応していくことが大切です。
◎ホームページ制作から運用保守までワンストップ
サイトを運営する上で、セキュリティやパフォーマンス向上のためにPHPバージョンアップは避けられません。ただしPHPのバージョンアップには不具合や障害が発生する可能性があり、詳しい担当者でないと対応することは難しいでしょう。それも更新の差分が大きくなればなるほど、大きな障害が発生するリスクが高くなります。そのためPHPバージョンの更新作業は定期的に対応する必要があります。
YTC・PLUSでは、自社サーバー管理によりPHPを勝手にバージョンアップすることはありません。EC-CUBEの最上位ランク認定パートナーである当社は、ワンストップで構築から運用保守まで行っているため、PHPバージョン更新をはじめたとした障害の心配もなく安心してご利用いただけます。EC-CUBEは、ECサイトを構築する基本機能は充実しているものの、運営はすべて自社で対応しなければいけません。運用や集客の悩みは、ECサイト構築で培ったSEO対策や広告運用などにより改善が期待できます。電話やメールのほか、訪問コンサルティングもしているので、事業者さまのお悩みをしっかりフォローいたします。
◎まとめ
ECサイトを運営する上でも利用者が多いBC-CUBEは、利用する上でメリットが多く人気のツールですが、レンタルサーバーで不用意にPHPバージョンを更新すると、障害が発生する恐れがあります。YTC・PLUSでは自社サーバーで管理しているため、PHPによる障害が発生する心配もありません。ECサイトの構築は、EC-CUBEのインテグレートパートナーの当社までお気軽にお問い合わせください。