Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@kagesta

Zend Core から Zend Server 7 へ移行する方法

zendi.png

環境

マシンリプレイスに伴う、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人日 ※稼働確認含む

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?