Zend Core から Zend Server 7 へ移行する方法(事例の紹介)

zendi

環境

マシンリプレイスに伴う、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 への変更に伴う影響調査と修正
1. コンパチビリティーラッパーの利用
i5関数を利用しているPHPソースの先頭にrequire_once(‘CW/cw.php’)の組み込みを行った。
修正PHPソース数:約60本
→ 修正作業自体は単純作業であったが、元々のアプリケーションの作りとして、共通ファイルをincludeしていたなら、1ファイルの修正で済んだはずである
2.下記の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人日 ※稼働確認含む

この記事を読んでいただいてありがとうございます!

The following two tabs change content below.
IBM i (AS/400)のオープン化を中心にサービスを提供するシステム開発会社。最近は、IBM i 上のPHPによる受託開発が多いですが、ソリューションやウェブサービスも順次リリースしていこうと思ってます。 https://www.omni-s.co.jp/