简体   繁体   English

php + ibm_db2错误

[英]Php + ibm_db2 error

I'm having a problem with a PHP connection to a DB2 database. 我在与DB2数据库的PHP连接方面遇到问题。 My systems specs are the following: 我的系统规格如下:

Operative System

[root@mxismspms POC]# uname -a Linux mxismspms.mx.ihost.com
2.6.18-419.el5 #1 SMP Wed Feb 22 22:40:57 EST 2017 x86_64 x86_64 x86_64 GNU/Linux

Php Version

php -v PHP 5.6.30 (cli) (built: Jan 19 2017 08:18:25)  Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

Php Loaded modules 
php -m [PHP Modules] 
bz2 calendar Core ctype curl date dom ereg exif fileinfo filter ftp gettext hash **ibm_db2** iconv json ldap libxml mhash mssql mysql mysqli mysqlnd odbc openssl pcntl pcre PDO pdo_dblib pdo_ibm pdo_mysql PDO_ODBC pdo_sqlite Phar posix readline Reflection session shmop SimpleXML sockets SPL standard sybase_ct sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter xsl zip zlib

As you can see i'm using ibm_db2 driver. 如您所见,我正在使用ibm_db2驱动程序。 The main issue is that connections to the DB2 database are not working when running from the Apache. 主要问题是从Apache运行时,与DB2数据库的连接不起作用。 My php script is the following: 我的PHP脚本如下:

$database = '****'; $user = '****'; $password = '****'; $hostname = '****'; $port = 5098;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;" .   "HOSTNAME=$hostname;PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;"; $conn = db2_connect($conn_string, '', '');

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

When in run it from the CLI it works fine, but it doesn't work when i run from the browser. 从CLI运行时,它工作正常,但从浏览器运行时,它不起作用。

php test2.php 
Connection succeeded.

Also try with apache user. 也可以尝试使用apache用户。

su - apache -c 'php /var/www/html/POC/test2.php'        
Connection succeeded.

From browser I don't much details and it doesn't work. 从浏览器看,我没有太多细节,它也不起作用。 参考1

Finally i give you my phpinfo driver and environment details. 最后,我给您我的phpinfo驱动程序和环境详细信息。 phpinfo 环境

And in my Yii 2 application i see this error. 在我的Yii 2应用程序中,我看到此错误。

SQLSTATE= , SQLDriverConnect: -5005 [IBM][CLI Driver] SQL10007N Message "0" could not be retrieved. Reason code: "3".

Regards! 问候!

用pecl重新安装ibm_db2可解决此问题(pecl安装ibm_db2)!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在Windows上为PHP 7编译ibm_db2 tar? - How do I compile ibm_db2 tar for PHP 7 on Windows? PHP ibm_db2如何将CONN_CODEPAGE更改为1208 - PHP ibm_db2 how to change CONN_CODEPAGE to 1208 PHP ibm_db2扩展-从Linux连接到DB2 iSeries时为i5_sys_naming *不支持* - PHP ibm_db2 extension - i5_sys_naming on when connecting to DB2 iSeries from Linux *NO SUPPORT* 使用pdo_ibm或ibm_db2 php扩展名通过Windows机器上的php客户端连接到i5 / os上的远程DB2 - Connecting to remote DB2 on i5/os through a php client on a windows machine using pdo_ibm or ibm_db2 php extensions Symfony2 / Doctrine2无法使用ibm_db2客户端连接到IBM DB2数据库 - Symfony2 / Doctrine2 can't connect to IBM DB2 database using ibm_db2 client Bash在运行`pecl install ibm_db2`时拒绝转义字符串。 - Bash refuses to escape strings when running `pecl install ibm_db2` ibm_db2-2.1.5、sed:无法读取 /tmp/pear/temp/ibm_db2/ltmain.sh:没有这样的文件或目录,无法访问“libtool”:没有这样的文件或目录 - ibm_db2-2.1.5, sed: can't read /tmp/pear/temp/ibm_db2/ltmain.sh: No such file or directory, cannot access 'libtool': No such file or directory PHP 到 DB2 与 PDO_IBM 错误:SQLDriverConnect:-1390 [IBM] [CLIDRIVER] SQL10007N - PHP to DB2 with PDO_IBM Error : SQLDriverConnect: -1390 [IBM] [CLIDRIVER] SQL10007N 将 IBM Cloud php 应用程序连接到 IBM Cloud DB2 - Connecting IBM Cloud php app to IBM Cloud DB2 适用于iSeries IBM DB2的PHP PDO Windows - PHP PDO Windows for iSeries IBM DB2
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM