ver.1サポートサイト

スパイラルPHP管理を使用したPHPバージョンの移行方法

最終更新日:2020年01月20日

概要

PHPバージョン移行を支援する「スパイラルPHP管理を使用して、スパイラル上に構築したアプリケーションを最新のPHPバージョンへ移行する方法をご案内いたします。

ご注意
本ページは、設定しているPHPプログラムの実行バージョンとして「デフォルトバージョン(※)」を適用していることを前提とした移行方法のご案内となります。
実行バージョンをデフォルトバージョンにしている場合、複数の設定に対して、一括で実行バージョンを変更できます。
実行バージョンを個別に指定している場合、各設定画面にて、実行バージョンを修正して移行することになりますので、デフォルトバージョンでの設定をお勧めいたします。

※:デフォルトバージョンとは
特定のPHPバージョンを指定していない場合に適用されるバージョンのことです。
詳しくは「スパイラルPHPバージョンについて」の「3.(参考)デフォルトバージョンとは」をご参照ください。

関連ページ
スパイラルPHPバージョンについて
スパイラルPHP管理

1.現在のデフォルトバージョンを確認

まず、現時点でのPHPの実行バージョンを確認します。操作画面にて、「開発」の「スパイラルPHP管理」を選択します。

トップページに表示される、「アカウントデフォルト実行バージョン」が、ご利用のアカウントにおける実行バージョンです。

上記の場合、バージョンは「7.2」で実行されていることが確認できます。

2.移行先バージョンの選定

次に、以下サポートページに記載の提供中バージョンのうち、どのバージョンへ移行するかを決めます。

現在提供中のPHPバージョン:「スパイラルPHPバージョンについて」の「1.現在提供中のPHPバージョン」を参照

当社では性能やセキュリティ面等ふまえ常に最新のバージョンをご利用いただくことを推奨しております。
バージョンによって使用できる関数やクラスなど異なる場合もありますが、基本的により機能性が高く、セキュアに利用することができる最新のバージョンをご利用いただくことをお勧めいたします。

3.構文チェック

移行先のバージョンを決定したら、続いてアプリケーション内で設定されているPHPソースが、その移行先バージョンに対応しているかの構文チェックを行います。
ここでは、移行先バージョンにおいて、削除された関数・クラスや将来廃止される関数・クラスがPHPソース上に記述されているかをチェックします。

左メニュー「構文チェック」をクリックします。

スパイラル内で設定されているWebページ(フォーム、一覧表など)やカスタムプログラム等の設定を一覧表示します。
PHPを使用している、使用していないに関わらず、全ての設定を表示いたします。

バージョン移行したい設定についてチェックし、画面下の「構文チェック」ボタンをクリックします。

「移行先バージョン」を選択します。
選択後、「チェック実行」ボタンをクリックしてチェックを開始します。



設定数が多い場合は処理に時間がかかる場合がありますが、チェックの処理はバックグラウンドで行われるため、並行してスパイラルを操作することが可能です。

処理が終わったら以下のようなチェック結果の画面が表示されます。

(1)移行バージョンにおいて特に問題ない場合

「結果」が全て「OK」であれば、移行先のバージョンにおけるPHPの構文に関しては特に問題が無いと判断できます。

構文に問題が無ければ、バージョンを変更する作業を行います。
左メニュー「トップページ」をクリックしてアカウントデフォルト実行バージョンの設定画面に戻り、実行バージョンの「変更」をクリックします。

移行するバージョンを選択し、「保存」ボタンをクリックします。

以下の確認メッセージが表示されます。
「はい。変更して問題ありません。」にチェックをして「保存」ボタンをクリックします。

実行バージョンが移行先のバージョンに変わっていることを確認します。

以上でバージョン移行作業は終了です。
念のため、PHPプログラムを設置しているWebページやカスタムプログラム等が正常に動作するかご確認ください。

(2)移行バージョンにおいて何らかの問題がある場合

「結果」に「NG」がある場合は、移行先のバージョンにおけるPHPの記述に何らかの問題があるため、対象のPHPソースを確認、修正する必要があります。

エラーの確認方法は以下のページをご覧ください。
スパイラルPHP管理

4.改修フローの事例

「NG」となった場合、改修の流れについて、一例をご案内いたします。

  1. スパイラルPHP管理にて、構文チェックを実行する。
  2. 「NG」になった設定のエラー内容を確認する。エラーの確認方法はこちらから。
  3. 要調査箇所として、記録する。
  4. エラー解消の修正に伴う影響を調査する(下記「影響調査の方法」参照)
  5. 修正が必要な箇所を要修正箇所として、記録する。
  6. 修正の承認を行う。
  7. 修正やテストの工数を見積もり、スケジュールを設定する。
  8. 修正作業を行う。
    1. PHP設定一覧にて、設定名をクリックして、対象の設定画面を表示する。
    2. エラー箇所を修正する。
  9. 実行バージョンを変更する。
  10. 動作確認を行う。

影響調査の方法

影響調査の方法として、いくつかパターンをご案内いたします。

PHPソース上で調査する

移行先バージョンで削除された関数やクラスを使用している場合、修正する必要がありますが、将来的に廃止される関数やクラスを使用している場合、必ずしも修正する必要はないかも知れません。
また、削除された関数やクラスと一部一致する場合、構文チェック上はNGとなりますが、実際は別の関数名やクラス名で設定されている場合、修正する必要はないかも知れません。
エラー内容とPHPソースを比較して、修正が必要かどうかを判断してください。

フォームや一覧表などの設定を複製し、移行先バージョンを指定し、テストする

PHPを使用している設定を複製し、専用タグSMP_DYNAMIC_PAGE(※1)にバージョンを追記することで、移行先バージョンでの動作をテストできます。
※1:専用タグSMP_DYNAMIC_PAGEについては、こちらから。

デフォルトバージョンを変更して、テストする

調査のため、一時的にサービスを休止(例.メンテナンスのため、○月○日○時 – ○月○日○時 の間、サービスを一時休止いたします等)、デフォルトバージョンを移行先バージョンに変更し、エラー発生を調査する方法もあります。

SDP用アカウントにて、修正後のアプリでテストする

SDP(スパイラルデベロッパーズプログラム)会員の方は、SDPアカウントにて、動作確認をする方法もあります。
SDP(スパイラルデベロッパーズプログラム)のお申込みはこちらから。

5.修正作業後の動作確認

PHPの設定状況によって、修正後の動作確認方法がいくつかありますので、事例をご案内いたします。

単体の設定のみで動作する場合

例)フォームの入力ページにて、アクセス日時を表示する
  1. PHPソースを修正
  2. 入力ページの設定画面にて、プレビュー(※1)
  3. 変更(変更を反映)

複数の設定にまたがる場合

例)入力ページから登録した後の値をサンキューページで表示する
  1. PHPソースを修正
  2. 変更(変更を反映)
  3. 入力ページにて入力し、サンキューページ表示まで操作
  4. サンキューページの表示を確認
  5. DB内を確認

外部連携している場合

例)入力ページから登録した後の値をサンキューページにて、外部サービスAPIのエンドポイントURLに送信する
  1. PHPソースを修正
  2. 変更(変更を反映)
  3. 入力ページにて入力し、サンキューページ表示まで操作する
  4. 外部サービスからのレスポンス確認や外部サービス側のDB内を確認

※1:フォーム、一覧表やマイエリアのプレビューを表示することで、PHPが実行されます。
例えば、スパイラルAPIを使用して、DBに値を登録するPHPソースが記述されている場合、実際に値が登録されます。