PHP8 IBM DB2运行时配置
这些函数的行为受 中的设置影响。 php.ini
名字 | 默认 | 可修改范围 | 更新日志 |
---|---|---|---|
ibm_db2.binmode | "1" | INI_ALL | |
ibm_db2.i5_all_pconnect | "0" | INI_SYSTEM | 自 1.6.5 ibm_db2起可用。 |
ibm_db2.i5_can_promise | "0" | INI_SYSTEM | 自 1.4.9 ibm_db2起可用。 |
ibm_db2.i5_blank_users | "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 | 自 1.8.4 ibm_db2起可用。 |
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_子系统 | 零 | INI_SYSTEM | 从 ibm_db2 1.9.7 开始可用。 |
ibm_db2.i5_sys_naming | "0" | INI_SYSTEM | 从 ibm_db2 1.9.7 开始可用。 |
ibm_db2.instance_name | 零 | INI_SYSTEM | 自 1.0.2 ibm_db2起可用。 |
这是配置指令的简短说明。
ibm_db2.binmode
国际此选项控制用于与二进制文件之间的转换模式 PHP 应用程序中的数据。
1 (DB2_BINARY)
2 (DB2_CONVERT)
3 (DB2_PASSTHRU)
ibm_db2.i5_all_pconnect
国际此选项强制所有连接在 IBM i 上保持持久。 基本上,所有 db2_connect() 调用都透明地变成了 db2_pconnect() 调用。 默认情况下,此选项为 。 提供此选项是为了方便以下情况: 连接速度更快。 它不应用于新应用程序。
0
0 - 可以建立持久性和非持久性连接。
1 - 所有连接都是持久的。
ibm_db2.i5_allow_commit
国际此选项控制使用的事务隔离模式。 默认情况下,此选项为 ,因此不使用承诺控制。 如果在连接选项数组中设置了数组键,则在连接时可以覆盖此选项 传递给 db2_connect() 或 db2_pconnect()。
0
i5_commit
0 - 未使用承诺控制
1 - 读取未提交,可进行脏读取。
2 - 读取已提交,无法进行脏读。
3 - 无法进行可重复读取、脏读取和不可重复读取
4 - 无法进行可序列化、脏读取、不可重复读取和幻像
ibm_db2.i5_blank_userid
国际这将控制是否应允许在 IBM i 上使用空白用户标识。 默认情况下,此选项为 。 与此选项不同 不会强制所有用户 ID 为空或更改作业行为,但 只允许传递一个空用户标识,以便作为 当前用户。
0
ibm_db2.i5_ignore_userid
0 - 不允许传递空白用户 ID。
1 - 允许传递空白用户 ID。
ibm_db2.i5_char_trim
国际此选项控制是否在 IBM i 上修剪字符串的末尾。 由于许多表使用用空格填充的固定列大小,因此这是 为方便起见而提供。 默认情况下,此选项为 。
0
0 - 未修剪列。
1 - 删除返回字符列末尾的空格。
ibm_db2.i5_dbcs_alloc
国际此选项会影响 IBM i 上的内部缓冲区分配策略。 默认情况下,此选项为 。 设置此选项后,将分配更大的缓冲区, 如果数据库在转换时低估了字符串的大小 在编码之间。 此选项使用六倍的内存作为缓冲区(以考虑 最大可能的 UTF-8 序列),但如果被截断,则可能需要 返回数据。
0
0 - 分配最小大小的缓冲区。
1 - 分配较大大小的缓冲区。
ibm_db2.i5_guard_profile
国际此选项检查数据库用户配置文件是否在以下情况下切换 连接到 IBM i 上的持久数据库连接,如果是这样, 断开与数据库的连接。 默认情况下,此选项设置为 。
0
0 - 不检查配置文件交换。
1 - 检查配置文件交换,如果是,则断开连接。
ibm_db2.i5_log_verbose
国际此选项设置 SQL 诊断消息(如警告和错误)是否 始终发送到 IBM i 上的 PHP 错误日志。 通常,只发送一条关于失败的简短消息(例如“语句 execute failed“) 添加到 PHP 错误日志中,因为默认情况下此选项设置为。 请注意,您仍然可以并且应该手动调用 db2_stmt_errormsg() 作为检查是否 函数失败。
0
0 - 仅记录简短消息。
1 - 除简短消息外,还记录 SQL 诊断消息。
ibm_db2.i5_ignore_userid
国际当连接到数据库时,此选项将忽略用户 ID,以下情况 在 IBM i 上运行,并在 PHP 作业中运行 SQL/CLI 功能, 而不是单独的工作。 默认情况下,此选项为 。 启用后,它不再使用单独的数据库服务器作业,并且 始终使用数据库的当前用户配置文件,忽略 传递给 db2_connect() 和 db2_pconnect() 的用户名和密码。
0
0 - 使用指定的凭据,并使用 SQL/CLI 服务器作业。
1 - 始终使用空白凭据,并在 PHP 作业中运行 SQL/CLI。
ibm_db2.i5_job_sort
国际控制 IBM i 上的作业排序选项。 默认情况下,此选项为 。 这对应于 IBM i SQL/CLI 属性。
0
SQL_ATTR_CONN_SORT_SEQUENCE
0 - 使用排序选项,按字节排序。
*HEX
1 - 使用为 PHP 作业设置的作业排序序列。
2 - 使用为数据库作业设置的作业排序序列。
ibm_db2.i5_max_pconnect
国际这将影响持久连接可以重用的次数 在 IBM i 上运行时。 默认情况下,这设置为 ,这意味着持久性 连接始终可以重复使用。 此选项有助于解决长时间运行的数据库作业中的问题 (即,如果一个过程正在泄漏内存),但显然不是长期的 修复。
0
ibm_db2.i5_override_ccsid
国际用于从 IBM i 上的 EBCDIC 进行字符转换的 PASE CCSID。 默认情况下,这是 ,它将选择默认值 PASE 作业 CCSID,它来自 PASE 区域设置。 例如,将其设置为将使用 UTF-8。 仅当 PASE 作业 CCSID 不是预期的时,才应修改此内容 CCSID,并且无法修改语言环境。
0
1208
要了解有关 IBM i 上的 CCSID 的更多信息,请参阅 » IBM 文档。 要了解如何将 IBM i PASE 上的语言环境映射到 CCSID,请参阅 » IBM 文档。
ibm_db2.i5_sys_naming
国际此选项控制连接到 IBM i 系统时的命名方式。 默认情况下,此选项为 。 命名模式会影响名称的解析方式和允许的语法 名字。 当设置为 时,这将使用句点来限定名称和 使用默认库或用户 ID 来解析名称。 当设置为 时,这将使用斜杠来限定名称和 使用作业库列表解析名称。
0
0
1
0 - 使用 SQL 命名模式 (“SCHEMA.表“)。
1 - 使用系统命名模式(“LIBRARY/FILE”)。
要了解有关 IBM i 上的命名方式的更多信息,请参阅 » IBM 文档。
ibm_db2.i5_servermode-subsystem
字符串此选项更改在 IBM i. 默认情况下,此选项为
null
,因此作业将在默认值下运行 QSQSRVR 作业的子系统。ibm_db2.instance_name
字符串在 Linux 和 UNIX 操作系统上,此选项定义 用于编目数据库连接的实例。 默认情况下,此选项为
null
。 如果设置了此选项,则其值将覆盖环境变量设置。DB2INSTANCE在 Windows 操作系统上忽略此选项。