#環境
マシンリプレイスに伴う、Zend Sever 7 日本語へのバージョンアップ
■移行前環境
OSバージョン V5R4
Zend Core 2.6.1
PHP 5.2
Easycom For PHP Toolkit for IBM i
■移行後環境
OSバージョン V7R1
Zend Server 7.0.1
PHP 5.4
XML Toolkit
■移行対象PHPソース数
PHPソース数:70本
#PHPの移行作業内容
##PHPの移行
PHP 5.2 → PHP 5.4 のバージョンアップに伴う、下位互換がない変更点の機能(関数)の使用調査と修正
http://php.net/manual/ja/migration53.php
http://php.net/manual/ja/migration54.php
上記、PHP マニュアル を参照
→ 特にソース修正の必要はなかった
##IBM i資源の利用法の変更
i5関数(Easycom For PHP Toolkit for IBM i)から XML Toolkit への変更に伴う影響調査と修正
-
コンパチビリティーラッパーの利用
i5関数を利用しているPHPソースの先頭にrequire_once(‘CW/cw.php’)の組み込みを行った。
修正PHPソース数:約60本
→ 修正作業自体は単純作業であったが、元々のアプリケーションの作りとして、共通ファイルをincludeしていたなら、1ファイルの修正で済んだはずである -
下記のi5関数については、XML Toolkitでは未対応だった為、db2関数に置き換えを行った。
i5_query
i5_fetch_row
i5_free_query
修正PHPソース数:約20本
→ こちらも、i5関数自体を内包したユーザー関数を作成して共通化していたなら、1ファイルの修正で済んだはずである
##稼働確認時に発生した問題点と解決手段
i5_commandで実行したCL内で作成したスプールについて、同CL内でSPLNBR(*LAST)で取得できない。(MRGAPW、DLTSPLF等)
→ OSのバージョンによる、Toolkit実行ジョブ制御の違いであり、SPLNBR(*LAST)ではなく、APIで直前スプールの情報を取得するようにCLを修正して解決。
##工数
移行工数:5人日 ※稼働確認含む
この記事を読んでいただいてありがとうございます!