レンタルサーバーやSSL関係のお役立ちコラム

さくらのホームページ教室

PHPバージョン変更と必要性について知ろう

このページではPHPバージョンについて深堀りしていきます。

・PHPバージョンとは何なのか?
・何故バージョンが廃止されたり新しいバージョンが出てくるのか?
・PHPバージョンを変更する事によりどのような影響があるのか?

これらを理解した上でPHPバージョン変更実施に備えましょう。

PHPバージョン変更と必要性について知ろう

PHP言語とは?

簡単にいうとサーバー上で稼働するプログラム言語です。

「さくらのレンタルサーバ」等のPHPを動かすことが出来るサーバー上に、PHP言語で記述されたファイルを設置する事でPHPプログラムを実行する事が可能です。

PHPは様々な処理を行う事が出来ますが、WEBサイト制作やWEBシステム制作に利用されるケースが多いものとなります。

有名なWEBサイト作成CMSであるWordPressもPHPで作られています。

PHPで作成されているWEBサイトの場合、WEBサイトにアクセスするとサーバー側のPHP処理でWEBサイトを構成するHTMLやCSSプログラムが作成され、それをWEBサイトにアクセスした端末が処理する事によりWEBサイトの表示が行われています。

PHPで作成されているWEBサイトが表示される仕組み

PHPにはバージョンがある

WindowsOSやスマートフォン等でもバージョンアップが頻繁に行われていますが、同じようにPHPにも下記のようなバージョンがあります。

PHP5.6

PHP7.4

PHP8.1

PHPに限った話ではないですが、バージョンアップには「メジャーアップデート」「マイナーアップデート」の2種類があります。

メジャーアップデート

[PHP〇.×]

上記PHPバージョン表記の内、〇の数字が変わる事を「メジャーアップデート」と言い、大きくPHPのルールが変わる時に行われます。

WindowsでいうとWiondows10からWindows11にアップデートされるようなものです。

具体的には

・新しく実行出来るようになる、PHPプログラム処理の追加

・今まで実行出来ていた、PHPプログラム処理の1部廃止

・PHPプログラムに関するパフォーマンスの向上

・バグ修正

・セキュリティの強化

等が変化する内容となります。

マイナーアップデート

[PHP〇.×]

上記PHPバージョン表記の内、×の数字が変わる事を「マイナーアップデート」と言い、PHPに軽微な修正等が加えられる時に行われます。

具体的には

・バグの修正

・セキュリティの強化

等が変化する内容となります。

※マイナーアップデートでも機能の追加・削除が行われる場合もあります。

プログラム言語としてのPHPバージョンと、環境としてのPHPバージョン

上述の通り、PHPプログラムはサーバーで稼働するプログラム言語ですが、どのようなサーバーでもPHPプログラムを動かせるというわけではなく、サーバー側がPHPを動かす機能を備えていなければなりません。

又、PHPプログラムを動かす機能を備えているサーバーは、全てのPHPバージョンに対応しているわけではなく、特定のPHPバージョンのみしか動かせないものとなります。

つまり、PHP5.6を動かせるサーバー上で、PHP5.6で記述されたプログラムデータを設置すれば正常に稼働しますが、PHP5.6を動かせるサーバー上で、PHP8.1で記述されたプログラムデータを設置すれば、サーバー側がPHP8.1のプログラムを処理する事が出来ず、何らかの問題が発生する可能性があります。

(逆に、PHP8.1動かせるサーバー上で、PHP5.6で記述されたプログラムデータを設置しても、何らかの問題が発生する可能性があります。)

ですので「PHP8.1バージョンで記述したプログラム」を作成したのであれば、そのプログラムは「PHP8.1を動かすことが出来るサーバー」に設置する方が安心して利用できます。

「さくらのレンタルサーバー」ではサーバー環境のPHPバージョン変更をいくつかのバージョンから選択する事が出来ます。

バージョン変更方法はこちらのページをご確認ください。

「PHPの特定バージョンを動かすことが出来るサーバー」と「PHPの特定バージョンで記載したプログラムファイル」

このように特定のPHPバージョンでプログラムを作成したのであれば、プログラムを処理するサーバー側も該当バージョンに対応できる状態にしておく必要がありますが、古いPHPバージョンの場合はセキュリティに欠陥が見つかったとしても修正されることが無く、利用する事自体が危険な為、サーバー側で利用しているPHPバージョンが廃止されてしまう事があります。

何故PHPバージョンが廃止されてしまうのか?

PHPバージョンはPHPを提供している公式団体にてバージョンアップされる事により脆弱性対策等のセキュリティが強化されてゆきます。

しかしながら新しいPHPバージョンの開発に集中する為、古いバージョンのセキュリティ対策はいずれ開発による対応が実施されなくなってしまいます。

(このように開発を終了した状況をPHPバージョンのサポート切れと言います。)

このような脆弱性対策がなされなくなってしまったバージョンは、その後に発見された脆弱性を抱えたままの状態となってしまいます為、脆弱性を悪用してバックドアと呼ばれる外部から侵入できるプログラムが設置され、悪意の第三者にウェブサイトを書き換えられる、大事なデータを取得される、データを削除される、等の問題が発生する可能性があります。

世間を騒がせているフィッシングサイト等も多くはこのような方法で設置されており、サーバーの契約者が知らぬ間にサイバー犯罪へと繋がってしまいます。

サイバー犯罪が発生しないよう、危険な脆弱性を抱えているPHPバージョンはサーバー上で利用出来ないように処置する必要があるため、サーバ内でのPHPバージョン廃止が行われることになります。

脆弱性を利用したサーバー内部侵入の例

PHPバージョンを変更するメリット

上述のセキュリティ面の向上もメリットですが、他にも単純にPHPプログラムを処理するスピードが速くなります。

PHPバージョンが上がる毎に処理速度が高速化されており、PHP7系はPHP5系の2〜3倍の処理速度があり、PHP8系は7系より若干高速化されているようです。

処理速度が高まるという事はWEBサイトの表示が早くなるという事にもつながりますので、SEOで順位を上げる要因とする事や閲覧者のストレスを除去する事にもつながります。

又、PHPプログラムで実行出来る事の幅が増えるので、これまで実装できなかった事が出来るようになる、等のメリットがあります。

PHPバージョンを変える際の注意点

もしご利用のPHPバージョンが廃止予定のバージョン、もしくは変更を推奨されるようなバージョンである場合や、バージョン変更によるメリットを享受したい場合には、新しいPHPバージョンのご利用をご検討ください。

ただしサーバー側のPHPバージョンを不用意に上げてしまうと、PHPバージョン互換性が要因となり、サーバー上に設置しているPHPプログラムを正常に実行できず、プログラム動作に予期せぬ不具合が発生する事がありますので注意が必要です。

例えば、バージョンを変更したらページ全体や一部が表示されない、エラーメッセージが表示された、クリックしても動作しない、画面レイアウトが壊れた、等といった例がよく見受けられます。

サーバー側のPHPバージョンを変更する前に、サーバー上に設置しているPHPプログラムが変更後のPHPバージョンでも正常稼働するか、プログラム製作者の方に確認すようにしましょう。

もし正常稼働しないのであれば、サーバー上に設置しているPHPプログラムを新しいバージョンでも稼働するように手直しする必要があります。

尚、さくらのレンタルサーバをご利用であれば、サーバー側のPHPバージョン変更後の表示に問題が生じた際には元のPHPバージョンに切戻す事が出来ますので、エラーが表示されない状態に戻す事も可能です。

(サーバからバージョンが廃止され、元のバージョンに戻せない場合もあります。)

まとめ

このページではPHPバージョン変更についての知識や必要性について記載しましたが、実際にどのように対応して行けば良いのかはご自身のご状況により様々であり、まずはご自身の置かれているご状況を確認する必要があります。

下記ページではご自身がPHPプログラムを利用しているかや、サーバー環境のPHPは何を利用しているのかの確認方法、PHPバージョン変更対応方法をまとめておりますので、参考にしてみてください。

この記事は1つのテーマに紐づけられた記事です。
他の関連記事も続けて閲読頂くことをお勧め致します。

PHPバージョン廃止に備えた、WEBサイトのバージョンアップについて

執筆 吉岡 直輝

さくらインターネットで「さくらのレンタルサーバ」のお問い合わせ対応を担当。 よくお問い合わせ頂く事を記事にしていきたいと思います。

吉岡 直輝のプロフィール画像