连接到 IBM i(在文章中称为“i5”)Db2 通常使用 PDO_ODBC 和 IBM i 本身的 IBM i ODBC 驱动程序更简单,Windows、Linux 或 Mac 都可以免费下载……请参阅 https://www.ibm.com/support/pages/odbc-driver-ibm-i-access-client-solutions
PDO_IBM 驱动程序实现了 PHP 数据对象 (PDO) 接口,以便从 PHP 访问 IBM 数据库。
要构建 PDO_IBM 扩展,必须在与 PHP 相同的系统上安装 DB2 客户端 v9.1 或更高版本。可以从 IBM » 应用程序开发站点 下载 DB2 客户端。
注意: 注意
DB2 客户端 v9.1 或更高版本支持直接访问 DB2 for Linux、UNIX 和 Windows v8 和 v9.1 服务器。
DB2 客户端 v9.1 还支持使用单独购买的 » DB2 Connect 产品 访问 DB2 UDB for i5 和 DB2 UDB for z/OS 服务器。
PDO_IBM 是一个 » PECL 扩展,因此请按照 安装 PECL 扩展 中的说明安装 PDO_IBM 扩展。发出 configure 命令以指向 DB2 客户端头文件和库的位置,如下所示
bash$ ./configure --with-pdo-ibm=/path/to/sqllib[,shared]
这些函数的行为受 php.ini 中设置的影响。
名称 | 默认值 | 可更改 | 变更日志 |
---|---|---|---|
pdo_ibm.i5_dbcs_alloc | "0" | INI_SYSTEM |
在 PDO_IBM 1.5.0 中添加 |
pdo_ibm.i5_override_ccsid | "0" | INI_SYSTEM |
在 PDO_IBM 1.5.0 中添加 |
以下是配置指令的简要说明。
pdo_ibm.i5_dbcs_alloc
int此选项会影响 IBM i 上的内部缓冲区分配策略。默认情况下,此选项为 0。当设置此选项时,缓冲区将以更大的尺寸分配,以防在编码之间转换时,数据库对字符大小进行误导。此选项将使用六倍的内存用于缓冲区(以适应最大的 UTF-8 序列),但如果返回截断的数据,则可能需要它。
0 - 分配最小尺寸缓冲区。
1 - 分配较大尺寸缓冲区。
pdo_ibm.i5_override_ccsid
int在 IBM i 上从 EBCDIC 转换时使用的 ASCII CCSID。将其设置为 1208 将使用 UTF-8。默认情况下,此值为 0,这将选择默认的 ASCII 作业 CCSID。
要详细了解 IBM i 上的 CCSID,请查阅 » IBM 文档。
连接到 IBM i(在文章中称为“i5”)Db2 通常使用 PDO_ODBC 和 IBM i 本身的 IBM i ODBC 驱动程序更简单,Windows、Linux 或 Mac 都可以免费下载……请参阅 https://www.ibm.com/support/pages/odbc-driver-ibm-i-access-client-solutions