IBM i(AS400)のQA質問サイト 「wakaranai (わからない)」
ただいまの質問       
108 
件
メンバー登録する
wakarana-iとは
ログイン
すべての質問
タグ
ユーザー
質問する
関連する質問
パラメータ上の半角カナが文字化けして、RPGを正常に実行できない
PHPでHTMLに表示するデータの一部が文字化けする
PHPからAS400のデータベースにODBC接続時、半角カタカナが文字化けする
ZendServerは、本当に無料で使えるのですか?
PHPの実行処理時間
phpを実行しクライアント側のフォルダにcsvを作成する事は可能ですか?
phpからAS400のdb2を参照すると、文字化けする
ブラウザでHTTP エラー 403 - アクセス不可
PHPのtime関数で取得されるシステム時刻について
ToolkitServiceによるPHPからのCLプログラム実行
おすすめの質問
PHP on IBM i (AS400)に関連する質問集
ZendServerのインストールとQCCSIDに...
Zendcore→ZendServerへのアップデート
ZendServerはV5R3で動作しますか?
ZendServerの管理者画面に入れません...
PHPから実行されるRPGのデバッグ
PHPからQTEMP上のファイルへのアクセ...
php実行時のログファイルについて
ZendServerでのPEARの利用について
コマンドライン(CLP)からのPHP実行
php.iniの場所(ZendServer)
by オムニサイエンス
スポンサー広告(質問)
PHP+RPGでAS400の基幹データを活用!簡単な照会画面から手軽に取り組めます。
open-omni.com
少しでもコストを抑えて手軽にAS400のオープン化に取り組めるツールとして、PHPの活用をお勧めします!
日本最大IBM i (AS400) 専門家集団 iBIアライアンス
www.ibiweb.gr.jp
会員各社のソリューション連携により、AS400におけるアプリケーション環境をトータルでご提供します。
OpenSource協議会-IBM i(AS400)へようこそ!OSSが拓くIBM i(AS400)の新たな世界!
i5php.jp
IBM i(AS400)のオープン化を中心として、オープンソースソフトの啓蒙と普及に努めています。
AS/400のクエリー定義をWebで|PHPQUERY for IBM i
phpquery.jp
PHP QUERYは、IBM i(AS400)上のクエリー定義をWeb画面から参照するデータ抽出ツールです。
wakaranai facebook fanpage
Twitter
Twitter
Facebook
Facebook
rss
RSS
phpの実行で、一定の負荷が溜まると「文字化け」「ファイルオープン数の限界」等の問題が発生する
12 年
前に 質問(as/400)
y-matsushima
300
pt
10 年
前に編集
wakarana-i
Tweet
>>2011.06.23
phpにて、EASYCOMが提供している、ライブラリを利用して i5のプログラムを実行しています。
■発生条件
大体ですが、2~3千回(約10時間稼動)ほど実行されると以下の問題が発生します。
■問題
1.EASYCOMライブラリのi5関数から取得するマルチバイト文字が文字化けする
i5_prepare_program_call、i5_queryから全角文字を取得
WEBEDI
↓に文字化け
WEBEDI
2.fopen関数が失敗する
php.log
エラー出力なし
apache.log
[Wed Jun 22 21:12:33 2011] [notice] Using [Zend Enabler module, Version 1.3.1] from [Zend Technologies Ltd.]
PHP Warning: error_log(./log/i5ctrlClass_20110622.log) [<a href='function.error-log'>function.error-log</a>]: failed to open stream: Too many open files in /www/xxx/xxx/i5ctrlClass.php on line 850
3.ZendServerのログイン後の画面でエラーメッセージが出力されて表示できない
http://xxx.xxx.xxx.xxx/ZendServer/Index/Index#99999...
An unexpected error has occurred
■復旧方法
apacheのサービスを再起動することで、しばらく安定します。
i5のコマンドラインから実行
STRTCPSVR SERVER(*HTTP) RESTART(*HTTP) HTTPSVR(ZENDSVR)
■問題の再現サンプル
1.html
・ajaxで、phpを呼び出し
・ajaxのcompleteイベントが発生したら、再度phpを呼び出し
2.php
session_start();
$i5_opt = array(I5_OPTIONS_CODEPAGEFILE => '/usr/local/zendsvr/etc/jp_5026.cpg');
$LINK = i5_connect('localhost', '', '', $i5_opt);
if(is_resource($LINK)){
i5_close($LINK);
}
3.firebugにて実行回数を確認、2500~4000回ループする間に問題が発生する。
しばらくは、異常状態と正常が繰り返されるが、さらにループを回すと問題が発生し戻らなくなる。
さらにループすると、i5_connectの接続が失敗するようになる。
内容は以上となります。色々試し、調べましたが原因が分からないのでアドバイスを頂きたいと思います。どうかよろしくお願い致します。
>>2011.06.24
追加情報
解答ありがとうございます。
ulimitの結果はデフォルト値の2000となっております。
こちらの数値は、IBM様とのやり取りで調べました。
オープン数の限界値を引き上げる方法は、原因が
分からなくなってしまうので、最後の手段だと考えています。
昨日の調査で、問題が発生する原因のコードが判明しました。
i5_connectのオプションのI5_OPTIONS_CODEPAGEFILEを
指定すると処理が終了しても、何かが解放されないようです。
i5_pconnectを利用しても、結果は同じでした。
$i5_opt = array(<font ='red'>I5_OPTIONS_CODEPAGEFILE => '/usr/local/zendsvr/etc/jp_5026.cpg'</font>);
$LINK = i5_connect('localhost', '', '', $i5_opt);
時間がなく、調べられなかったのですが、次は
I5_OPTIONS_CODEPAGEFILEを5035に変えた場合どうなるかを
調べようと思っています。
日本語を利用する為の、I5_OPTIONS_CODEPAGEFILEを利用するに当たり
必要な環境設定(apache,php,i5)を探してみる事にします。
>>2011.07.08
サポート提供企業様にて、同じ現象を確認していただきました。
strysd様の仰るように、内部の調査が必要だと思われますが、
プログラムの組み方で回避できる余地があるのか、根本的に問題があるのかが判断できておりません。
現状、まったくシステムが利用されない時間帯(夜)があるにもかかわらず、なんらかのハンドルがapacheサービスを再起動するまで、まったく開放されずに残ってしまいます。
今後、協力して原因をはっきりさせてから、ここに残しておきたいと思います。
現在、気になっているのが日本語のコードページファイルは、普通にみんなが使用されている機能だと言うことです。
サポート様も過去にこういった例がない、トラブルとして報告されていないという事でした。
apacheなど、毎日再起動するものでもないですし2000回実行されたら問題が発生します。
この事から、弊社のプログラムの組み方に問題があり、発生しているのではないかとも考えております。
引き続き、調査をします。
>>2011.07.12
追加情報
i5_pconnectでコネクションを使いまわす方法で、回避できるようです。
細かい情報ですが、どこまで公開してよいのか分かりません。
正式に発表できる状態で、改めて詳細をまとめたいと思います。
一番簡単で、延命ですが効果のあるma-tacさんのulimitの値を増やす、
という方法をベストアンサーにしたいと思います。
ご協力ありがとうございました。
ibm_i
文字化け
zendserver
apache
v7r1
php
file_open_error
as400
Tweet
12 年
前に 質問(as/400)
y-matsushima
300
pt
10 年
前に編集
wakarana-i
1
vote
4
answers
回答数
ログイン
または
ユーザー登録
してからでないと
回答はご覧頂けません。