连接到informix数据库 - PHP 方式

当前操作系统环境:RHEL 6U4 64bit 安装GCC
数据库版本:Informix 12.10.FC4, CSDK 4.10.FC4

所需要的软件包(包括但不仅限于以下):
php-5.3.3-22.el6.x86_64
php-devel-5.3.3-22.el6.x86_64 注:该包位于DVD2上

PDO_INFORMIX 下载地址:http://pecl.php.net/package/PDO_INFORMIX

使用root用户权限,并包含以下环境变量

INFORMIXDIR=/home/informix
INFORMIXSERVER=db31
ONCONFIG=onconfig.db31
PATH=$INFORMIXDIR/bin:$PATH
LD_LIBRARY_PATH=$INFORMIXDIR/lib:$INFORMIXDIR/lib/esql        # LD_LIBRARY_PATH need!

export INFORMIXDIR INFORMIXSERVER ONCONFIG PATH LD_LIBRARY_PATH

将PDO_INFORMIX-1.3.1.tgz解包,并进入编译(须确认已安装php-devel)

[root@rhel6u4 PDO_INFORMIX-1.3.1]# phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626

编译

[root@rhel6u4 PDO_INFORMIX-1.3.1]# ./configure --prefix=/usr/lib64/php/modules \
  --with-php-config=/usr/bin/php-config --with-pdo-informix

注:--perfix的路径由php-config的输出--extension-dir 确定,
--with-php-config为php-config的位置(可通过whereis php-config查找)。

在/etc/php.d目录下增加pdo_informix.ini配置文件,内容为

extension=pdo_informix.so

如果正确完成,编写一个测试php文件t.php

<?php

$dbh = new PDO("informix:host=192.168.80.64; service=12131; database=sysmaster; server=db31; protocol=onsoctcp");

$sth1 = $dbh->prepare("select tabid, tabname from systables");
$sth1->execute();

while( $row = $sth1->fetch() )
{

    printf("%d %-15s\n", $row['TABID'], $row['TABNAME']);

}

$dbh = null;

?>

通过php -e t.php执行,查看结果

[root@rhel6u4 group]# php -e t.php
1 systables      
2 syscolumns     
3 sysindices     
4 systabauth     
5 syscolauth     
6 sysviews       
7 sysusers       
8 sysdepend      
9 syssynonyms    
10 syssyntable

标签: none

添加新评论

Free Web Hosting