You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache2环境下PHP连接DB2失败但CLI可正常连接的问题排查

问题:IBM DB2 PHP扩展在Apache中连接失败(CLI环境正常)

背景

已通过PECL安装IBM DB2 PHP扩展,在PHP CLI环境中运行以下代码可正常连接DB2服务器:

<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

$connection_string="DATABASE=NAMZPR1;HOSTNAME=172.20.10.162;PORT=50055;PROTOCOL=TCPIP;UID=bouser;PWD=xxx";

$conn = db2_connect($connection_string, "", "");

if ($conn) {
    echo "Connection succeeded. 
";
    db2_close($conn);
}
else {
    echo "Connection failed. " . db2_conn_errormsg() . " 
";
}
 
?>

但通过Apache2浏览器访问该PHP文件时,始终提示连接失败。

已完成的配置操作

  • 修改对应PHP.INI文件,添加IBM DB2扩展配置
  • 在Apache的httpd.conf中加入环境变量配置:

export LD_LIBRARY_PATH=$HOME/clidriver/odbc_cli/clidriver/lib

错误排查历程

  1. 初始报错(模块未加载):

Fatal error: Uncaught Error: Call to undefined function db2_connect() in /var/www/html/db2.php:8 Stack trace: #0 {main} thrown in /var/www/html/db2.php on line 8

  1. 解决模块加载问题后,Apache已成功加载ibm_db2模块,模块信息如下:

ibm_db2 IBM Db2 and compatible databases support enabled Module release 2.1.7 Binary data mode (ibm_db2.binmode) 1 - DB2_BINARY DB2 instance name (ibm_db2.instance_name) no value Commitment control (ibm_db2.i5_allow_commit) 0 - DB2_I5_TXN_NO_COMMIT System naming mode (ibm_db2.i5_sys_naming) 0 - disabled

  1. 当前Apache错误日志输出:

[Thu Feb 09 16:04:33.929426 2023] [php:warn] [pid 629664] [client 172.20.11.18:57220] PHP Warning: db2_connect(): SQLGetDiagRec returned -2 (is the driver working?) in /var/www/html/db2.php on line 8

补充配置调整

  • 已设置DB2实例名,修改后的模块信息:

IBM Db2 and compatible databases support enabled Module release 2.1.7 Binary data mode (ibm_db2.binmode) 1 - DB2_BINARY DB2 instance name (ibm_db2.instance_name) db2inst1 Commitment control (ibm_db2.i5_allow_commit) 0 - DB2_I5_TXN_NO_COMMIT System naming mode (ibm_db2.i5_sys_naming) 0 - disabled

  • 已配置以下环境变量:
export IBM_DB_HOME=/opt/ibm/db2/V11.5
export LD_LIBRARY_PATH=/opt/ibm/db2/V11.5/lib64
export LIBPATH=/home/admini/sqllib/lib
export PATH=/home/admini/sqllib/bin:$PATH

疑问

经过上述配置调整后,问题仍未解决,请问还遗漏了哪些必要配置?


内容的提问来源于stack exchange,提问作者Simon Giesen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:36:00