Runtime Configuration
The behaviour of these functions is affected by settings in php.ini.
Name | Default | Changeable | Changelog |
---|---|---|---|
ibm_db2.binmode | "1" | PHP_INI_ALL | |
ibm_db2.i5_all_pconnect | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.6.5. |
ibm_db2.i5_allow_commit | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.4.9. |
ibm_db2.i5_dbcs_alloc | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.5.0. |
ibm_db2.instance_name | NULL | PHP_INI_SYSTEM | Available since ibm_db2 1.0.2. |
ibm_db2.i5_ignore_userid | "0" | PHP_INI_SYSTEM | Available since ibm_db2 1.8.0. |
Here's a short explanation of the configuration directives.
-
ibm_db2.binmode
integer -
This option controls the mode used for converting to and from binary data in the PHP application.
-
1 (DB2_BINARY)
-
2 (DB2_CONVERT)
-
3 (DB2_PASSTHRU)
-
-
ibm_db2.i5_all_pconnect
integer -
This option overrides i5 db2_connect() full open and close in the PHP application. When
ibm_db2.i5_all_pconnect
= 1, all db2 connections become persistent (db2_pconnect()). On i5/OS, db2_pconnect() performs dramatically better with lower machine stress over db2_connect(). This is a convenience override of db2_connect() to evoke db2_pconnect() without PHP source code changes.-
0 db2_connect() default full open and close
-
1 db2_connect() override to db2_pconnect() for persistent connection only
-
-
ibm_db2.i5_allow_commit
integer -
This option controls the commit mode used for i5 schema collections in the PHP application.
-
0 no commit (see
i5_commit
for override) -
1 allow commit (see
i5_commit
for override)
-
-
ibm_db2.i5_dbcs_alloc
integer -
This option controls the internal ibm_db2 allocation scheme for large DBCS column buffers.
-
0 no expanded allocations (see
i5_dbcs_alloc
for override) -
1 use expanded allocations (see
i5_dbcs_alloc
for override)
-
-
ibm_db2.instance_name
string -
On Linux and UNIX operating systems, this option defines the name of the instance to use for cataloged database connections. If this option is set, its value overrides the DB2INSTANCE environment variable setting.
This option is ignored on Windows operating systems.
-
ibm_db2.i5_ignore_userid
integer -
This option overrides i5 db2_(p)connect userid and password in the PHP application. When
ibm_db2.i5_ignore_userid
= 1, all db2 (p)connections become null userid and null password. Therefore Apache jobs connect with the current profile (NOBODY). Use of this override is only for simple DB2 based websites that never require profile switching and therefore can avoid all overhead of server mode additional QSQSRVR jobs. This is a convenience override of db2_(p)connect to set the userid and password values to null without PHP source code changes. This override can be used in combination withibm_db2.i5_all_pconnect
= 1.-
0 db2_(p)connect with specified userid and password
-
1 db2_(p)connect override connect with null userid and null password
-
Коментарии
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.
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.