実行時設定

php.ini の設定により動作が変化します。

ibm_db2 設定オプション
名前 デフォルト 変更可能 変更履歴
ibm_db2.binmode "1" PHP_INI_ALL  
ibm_db2.i5_all_pconnect "0" PHP_INI_SYSTEM ibm_db2 1.6.5 以降で利用可能。
ibm_db2.i5_allow_commit "0" PHP_INI_SYSTEM ibm_db2 1.4.9 以降で利用可能。
ibm_db2.i5_dbcs_alloc "0" PHP_INI_SYSTEM ibm_db2 1.5.0 以降で利用可能。
ibm_db2.instance_name NULL PHP_INI_SYSTEM ibm_db2 1.0.2 以降で利用可能。
ibm_db2.i5_ignore_userid "0" PHP_INI_SYSTEM ibm_db2 1.8.0 以降で利用可能。

以下に設定ディレクティブに関する 簡単な説明を示します。

ibm_db2.binmode int

このオプションは、バイナリデータを PHP アプリケーションで 使用する際のモードを制御します。

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnect int

このオプションは、PHP アプリケーションにおける i5 db2_connect() のオープンおよびクローズをオーバーライドします。 ibm_db2.i5_all_pconnect = 1 の場合は、すべての db2 接続が持続的なもの (db2_pconnect()) となります。i5/OS 上での db2_pconnect() は、 db2_connect() よりはるかによいパフォーマンスを提供します。 このオプションは、PHP のソースコードを変更せずに db2_connect()db2_pconnect() として動作させられるので便利です。

ibm_db2.i5_allow_commit int

このオプションは、i5 スキーマコレクションで使用するコミットモードを PHP アプリケーションで使用する際のモードを制御します (オーバーライドについては (see i5_commit を参照ください)。

  • 0 - コミット制御を使いません。

  • 1 - read uncommitted。ダーティリードの可能性があります。

  • 2 - read committed。ダーティリードは発生しません。

  • 3 - repeatable read。ダーティリードや非再現リードは発生しません。

  • 4 - serializeable。ダーティリードや非再現リードやファントムリードは発生しません。

ibm_db2.i5_dbcs_alloc int

このオプションは、ラージ DBCS カラムバッファ用の内部 ibm_db2 アロケーションスキームを制御します。

  • 0 は拡張アロケーションを使用しません (オーバーライドについては i5_dbcs_alloc を参照ください)。

  • 1 は拡張アロケーションを使用します (オーバーライドについては i5_dbcs_alloc を参照ください)。

ibm_db2.instance_name string

Linux および UNIX では、カタログデータベースへの接続に使用する インスタンス名をこのオプションで指定します。 このオプションは、環境変数 DB2INSTANCE の設定を上書きします。

Windows では、このオプションは無視されます。

ibm_db2.i5_ignore_userid int

このオプションは、PHP アプリケーション内での i5 db2_(p)connect のユーザー ID とパスワードをオーバーライドします。 ibm_db2.i5_ignore_userid = 1 の場合は、 すべての db2 (p)connections がユーザー ID とパスワードに null を使用するようになります。 したがって、Apache のジョブは現在のプロファイル (NOBODY) で接続するようになります。 このオーバーライドを使用するのは、シンプルな DB2 ベースのウェブサイトで プロファイルの切り替えが不要な場合のみです。これを使用すると、 サーバーモードで追加の QSQSRVR ジョブを行うオーバーヘッドを回避できます。 これは、db2_(p)connect でユーザー ID とパスワードに null 値を設定するという作業を PHP のソースコードを変更することなしに行えるようにするものです。 このオーバーライドは ibm_db2.i5_all_pconnect = 1 でも使用することができます。

  • 0 db2_(p)connect で、指定したユーザー ID とパスワードで接続します。

  • 1 db2_(p)connect は、ユーザー ID とパスワードを null でオーバーライドします。

add a note add a note

User Contributed Notes 2 notes

up
1
yoshida at zend dot co dot jp
13 years ago
The explanation of ibm_db2.i5_dbcs_alloc seems to be hard to understand for me.

In ibm_db2 extension inside, 6 times length of string column is allocated if i5_dbcs_alloc value is 1.
The allocated area is used for conversion between UTF-8 and EBCDIC character encodings.

By the definition of UTF-8, letter length can need 6 bytes at the maximum.

Note:
In the case of a long column, allocated size may be beyond the upper limit defined in DB2 because original column is made by 6 times.  It can cause result data becomes null.
up
0
Satoru Yoshida
11 years ago
The explanation of ibm_db2.i5_allow_commit seems to be slightly difficult to understand for me.

I think it would be better to replace "no commit" with "can not use commitment control" or "do not allow transaction", and "allow commit" would be changed into
"can use commitment control" or "allow transaction" , Thanks.
To Top