メールフォームやいいねボタン、CMSなどを動かすのに欠かせないのがPHP。
2022年現在、主に使われているバージョンはPHP7(ちなみに、最新は8)ですが、フリーで配布されているプログラムの中には、PHP5でしか動作確認を行っていないものも存在します。
また逆に、昔から契約しているサーバーの場合、PHPバージョンが5のまま運用しているケースもあります。使いたいプログラムを見つけたけど、自分のサーバーで使えるPHPとは推奨されているバージョンが違う……なんてことも、個人サイト制作・運営では珍しくはありません。
そんなときにどうしたらいいのか、そもそもPHPのバージョンが違うとどんなことが起こるのか、この記事で解説していきます。
PHPのバージョンが違うと何が違う?
バージョンの数字が大きいほど、新しくリリースされたプログラムです。最も重要な違いは、プログラムの実行速度です。もちろんバージョンが新しい方が早くなります。
また、PHP5では普通に使えた関数が7では非推奨になってしまったり、逆にPHP7では使える関数がPHP5では使えない、という場合もあります。
関数が使えないということは、プログラム内に書かれていることが処理できないということです。PHPプログラムをサイトに設置するとき、推奨バージョンとは異なるバージョンのPHPで動かすと、エラーが起きて想定通りの動きをしなくなってしまう場合もあります。
だから、プログラムを設置する前の「プログラムの推奨PHPバージョン」の確認が重要になるわけです。
自分のサーバーのPHPバージョンを確認・変更する方法
サーバーのユーザー専用ページにログインすれば、自分の借りているサーバーのPHPバージョンを確認・変更することができます。
どのPHPバージョンが利用できるかはレンタルサーバーによりますが、現在、新規契約でPHP5を使えるところはほとんどないはず。PHP5は全て公式サポートが終了しているためです。サーバーを提供する会社としては、公式サポートがされていないプログラムの利用によるトラブルをできるだけ避けたいからです。
PHP7系においても、7.3まではサポートが終了しているので、可能であればPHP7.4以降を利用するのが無難です。
しかし、PHPバージョンを変更する前に、確認すべきことがあります。同じPHP7系統の中で変更する場合(7.1から7.4など)は気にする必要はほぼありませんが、PHP5から7、7から8など、メジャーバージョンが変わる場合は必ず次のことを確認してください。
PHPバージョンを変更するときに気を付けるべきこと
既に設置されているPHPプログラムの対応バージョンを確認しよう
もしもサイトですでにPHPプログラムを利用している場合は、必ず配布元サイトで対応バージョンを確認しましょう。
利用中のプログラムがPHP5にしか対応していないのに、サーバーのPHPバージョンを7などに変更してしまうと、プログラムにエラーが出て正常に動かなくなる可能性があります。
重要なのは、多くのサーバーではPHP5から7への変更はできても、7から5へのバージョンダウンはできない仕様になっていることです。先述したとおり、PHP5は公式サポートが全て終了しているからです。
つまり、PHP5でしか動かないプログラムを使っているのに、サーバーのPHPバージョンを7に変更してしまうと、プログラムにエラーが出たまま戻せなくなってしまう場合があるということです。
サイトでPHPプログラムを何も利用していない場合は、そのままPHPバージョンを変更して問題ありません。
プログラムの対応PHPバージョンとサーバーのPHPバージョンが違うときは?
どうしてもサーバーのPHPバージョンを5から変更できないけど、PHP7のプログラムを使いたい場合や、その逆のケースもあるかもしれません。そんなときはどう対処すればよいでしょうか。
PHPではエラーが発生したとき、エラーの内容を英語で詳細に報告してくれるという仕様があります。
Parse error: syntax error, unexpected token "foreach" in C:\〇〇〇\newiine_app\admin\inc\_core.php on line 87
たとえば上のような感じです。文章の後半を見ると、C:\〇〇〇\newiine_app\admin\inc\_core.php このファイルの87行目(line 87)に問題があることが分かります。
PHPはとても広く利用されている言語なので、エラー文章の前半のParse error: syntax error, unexpected token "foreach" in
をコピペしてGoogle検索にかければ、たいていのエラーの解決方法が分かります。
このように、表示されたエラーをひとつずつ解決していけば、サーバーのPHPバージョンに合わせることができるはずです。
ただし、場合によっては何十か所もの数の記述を修正する必要がありますし、知識のない人がPHPプログラムに手を加えることにはリスクもあります。当サイトで配布しているいいねボタンのような、ファイル数がさほど多くないプログラムなら修正箇所が少なくて済むかもしれませんが、多機能掲示板やCMSのように複雑なプログラムでは素人が修正するのは難しいでしょう。
どうしても使いたいプログラムがあり、自分で時間をかけてPHPについて調べて修正できる自信のある方のみ、自己責任の上で挑戦してみてください。