php.ini の設定により動作が変化します。
名前 | デフォルト | 変更可能 | 変更履歴 |
---|---|---|---|
ibm_db2.binmode | "1" | INI_ALL | |
ibm_db2.i5_all_pconnect | "0" | INI_SYSTEM | ibm_db2 1.6.5 以降で利用可能 |
ibm_db2.i5_allow_commit | "0" | INI_SYSTEM | ibm_db2 1.4.9 以降で利用可能 |
ibm_db2.i5_blank_userid | "0" | INI_SYSTEM | ibm_db2 1.9.7 以降で利用可能 |
ibm_db2.i5_char_trim | "0" | INI_SYSTEM | ibm_db2 2.1.0 以降で利用可能 |
ibm_db2.i5_dbcs_alloc | "0" | INI_SYSTEM | ibm_db2 1.5.0 以降で利用可能 |
ibm_db2.i5_guard_profile | "0" | INI_SYSTEM | ibm_db2 1.9.7 以降で利用可能 |
ibm_db2.i5_ignore_userid | "0" | INI_SYSTEM | ibm_db2 1.8.0 以降で利用可能 |
ibm_db2.i5_job_sort | "0" | INI_SYSTEM | ibm_db2 1.8.4 以降で利用可能 |
ibm_db2.i5_log_verbose | "0" | INI_SYSTEM | ibm_db2 1.9.7 以降で利用可能 |
ibm_db2.i5_max_pconnect | "0" | INI_SYSTEM | ibm_db2 1.9.7 以降で利用可能 |
ibm_db2.i5_override_ccsid | "0" | INI_SYSTEM | ibm_db2 1.9.7 以降で利用可能 |
ibm_db2.i5_servermode_subsystem | NULL | INI_SYSTEM | ibm_db2 1.9.7 以降で利用可能 |
ibm_db2.i5_sys_naming | "0" | INI_SYSTEM | ibm_db2 1.9.7 以降で利用可能 |
ibm_db2.instance_name | NULL | INI_SYSTEM | ibm_db2 1.0.2 以降で利用可能 |
以下に設定ディレクティブに関する 簡単な説明を示します。
ibm_db2.binmode
intこのオプションは、バイナリデータを PHP アプリケーションで 使用する際のモードを制御します。
1 (DB2_BINARY)
2 (DB2_CONVERT)
3 (DB2_PASSTHRU)
ibm_db2.i5_all_pconnect
int このオプションは、IBM i 上での接続を強制的にすべて持続的接続にします。 基本的に、すべての db2_connect() 関数のコールは透過的に db2_pconnect() のコールになります。 デフォルトでは、このオプションの値は 0
です。 このオプションは、持続的接続が高速な場合のために便宜上提供されています。 新しいアプリケーションでは、このオプションを使うべきではありません。
0 - 持続的接続、およびそうでない接続の両方を作成できます
1 - すべての接続を持続的接続にします
ibm_db2.i5_allow_commit
int このオプションは、トランザクションの分離レベルを制御します。 デフォルトでは、このオプションの値は 0
です。 よって、コミットの制御は使いません。 このオプションは、配列のキー i5_commit
を接続オプションの配列に設定し、 db2_connect() や db2_pconnect() に渡すことで上書きできます。
0 - コミット制御を使いません。
1 - read uncommitted。ダーティリードの可能性があります。
2 - read committed。ダーティリードは発生しません。
3 - repeatable read。ダーティリードや非再現リードは発生しません。
4 - serializeable。ダーティリードや非再現リードやファントムリードは発生しません。
ibm_db2.i5_blank_userid
int IBM i 上で空のユーザーIDを許可すべきかどうかを制御します。 デフォルトでは、このオプションの値は 0
です。 ibm_db2.i5_ignore_userid
と異なり、 このオプションはすべてのユーザーIDを強制的に空にしたり、 ジョブの振る舞いを変えたりはしません。 ただ単に、Db2 に現在のユーザーとしてする際、 空のユーザーIDを渡すことを許可するだけです。
0 - ユーザーIDを空で渡すことを許可しません
1 - ユーザーIDを空で渡すことを許可します。
ibm_db2.i5_char_trim
int このオプションは、IBM i における文字列の右端をトリム処理するかを制御します。 多くのテーブルは固定のカラムサイズを持ち、スペースで埋められているため、 このオプションが便宜のため提供されています。 デフォルトでは、このオプションの値は 0
です。
0 - カラムの値はトリム処理されません。
1 - 返される文字カラムの右端のスペースが削除されます。
ibm_db2.i5_dbcs_alloc
int This options affects the internal buffer allocation strategy on IBM i. By default, this option is 0
. When this option is set, buffers are allocated with a much larger size, in case the database underestimates a string's size when converting between encodings. This option uses six times as much memory for buffers (to account for the largest possible UTF-8 sequences), but may be needed if truncated data is returned.
0 - Minimum size buffers are allocated.
1 - Larger size buffers are allocated.
ibm_db2.i5_guard_profile
int IBM i 上のデータベースに持続的接続する際、 ユーザーのデータベースのプロファイルを切り替えるかどうかをチェックします。 切り替える場合、データベースから切断します。 デフォルトでは、このオプションの値は 0
です。
0 - プロファイルの切換をチェックしません
1 - プロファイルの切換をチェックし、切り替える場合は切断します
ibm_db2.i5_log_verbose
int This option sets if SQL diagnostic messages like warnings and errors are always sent to the PHP error log on IBM i. Normally, only a brief message on failure is sent (such as "statement execute failed") to the PHP error log, as this option is set to 0
by default. Note that you can still and should call i.e. db2_stmt_errormsg() manually as part of checking if functions fail.
0 - Only logs brief messages.
1 - Logs the SQL diagnostic message in addition to the brief message.
ibm_db2.i5_ignore_userid
int IBM i 上で実行される際、かつデータベースに接続する際に、 このオプションはユーザーID を無視します。 また、別々のジョブではなく、PHPジョブの内部でSQL/CLI の機能を実行します。 デフォルトでは、このオプションの値は 0
です。 このオプションを有効にすると、 別々のデータベースサーバのジョブを使わず、 常に現在のユーザープロファイルを使います。 そして、db2_connect() と db2_pconnect() に渡されるユーザー名とパスワードを無視します。
0 - 指定されたクレデンシャルを使い、SQL/CLI サーバのジョブを使います。
1 - 常に空のクレデンシャルを使い、PHP のジョブ中でSQL/CLI ジョブを実行します
ibm_db2.i5_job_sort
int IBM i におけるジョブソートを制御します。 デフォルトでは、このオプションの値は 0
です。 これは IBM i SQL/CLI の SQL_ATTR_CONN_SORT_SEQUENCE
属性に対応します。
0 - *HEX
ソートオプションを使い、 バイト単位でソートを行います。
1 - PHP のジョブ向けにジョブソートのシーケンスを使います。
2 - データベースのジョブ向けにジョブソートのシーケンスを使います。
ibm_db2.i5_max_pconnect
int このオプションは、IBM i 上で実行する際、 何回持続的接続が再利用されるかに影響します。 デフォルトでは、この値は 0
です。 つまり、持続的接続は常に再利用されるということです。 このオプションは、 長時間実行されるデータベースのジョブで起こる問題 (つまり、プロシージャでメモリリークが起きた場合など) を回避されるのに役立ちますが、明らかに長期的に役立つものではないでしょう。
ibm_db2.i5_override_ccsid
int The PASE CCSID to use for character conversions from EBCDIC on IBM i. By default, this is 0
, which will select the default PASE job CCSID, which comes from the PASE locale settings. For example, setting this to 1208
will use UTF-8. This should only be modified if the PASE job CCSID isn't the expected CCSID, and the locale cannot be modified.
To learn more about CCSIDs on IBM i, consult the » IBM documentation. To learn how locales on IBM i PASE are mapped to CCSIDs, consult the » IBM documentation.
ibm_db2.i5_sys_naming
int This option controls the naming mode when connecting to an IBM i system. By default, this option is 0
. The naming mode affects how names are resolved and the allowed syntax for names. When set to 0
, this uses periods to qualify names and uses the default library or user ID to resolve names. When set to 1
, this uses slashes to qualify names and uses the job library list to resolve names.
0 - Uses the SQL naming mode ("SCHEMA.TABLE").
1 - Uses the system naming mode ("LIBRARY/FILE").
To learn more about naming modes on IBM i, consult the » IBM documentation.
ibm_db2.i5_servermode-subsystem
string This option changes which subsystem database server jobs run under on IBM i. By default, this option is null
, so jobs will run under the default subsystem for QSQSRVR jobs.
ibm_db2.instance_name
string Linux や UNIX オペレーティングシステムにおいて、 このオプションはカタログされたデータベースへの接続で使う、 インスタンス名を定義します。 デフォルトでは、このオプションの値は null
です。 このオプションを設定すると、 環境変数 DB2INSTANCE の値を上書きします。
Windows では、このオプションの値は無視されます。