Debian 11 PHP db2_connect()无法工作/ PECL已安装ibm_db2

sqxo8psd  于 2023-02-04  发布在  DB2
关注(0)|答案(1)|浏览(158)

我已经采取了以下步骤,并且正在使用Debian 11。

  • 我已经从IBM网站安装了用于DB/2的CLI驱动程序
  • 我已经通过pecl为PHP PECL安装了ibm_db2包
  • 我已经为apache2和CLI编辑了PHP.INI文件。
  • 我的PHP脚本正在执行,它接受db2_connect()命令

尽管如此,它还是没有连接到我的DB/2服务器。我已经确保了从Debian服务器到DB/2服务器的连接。
我不断收到以下信息:
PHP警告:数据库连接():SQLGetDiagRec在第7行的/var/www/html/db2.php中返回-2(驱动程序是否正常工作?)连接失败。
任何帮助都是感激的。$数据库字符串正确吗?还有其他的安装设置要采取吗?
这是我的PHP脚本:

<?php
$database = 'NAMZPR1:50055';
$user = 'bouser';
$password = 'xxx';

$conn = db2_connect($database, $user, $password);

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

echo "Done Processing ...";
?>
idfiyjo8

idfiyjo81#

事实证明,要么必须编辑db2dsdriver.cfg,要么必须使用PHP中的有效连接字符串。

<?php
$connection_string="DATABASE= ;HOSTNAME= ;PORT= ;PROTOCOL=TCPIP;UID= ;PWD= ";

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

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

另外,确保环境变量已经设置好了。感谢“mao”。

相关问题