blogger

    blogger
  • hot log

  • comment

    twitter

    • 12.10.xC6出来时候碰到"Could not determine encryption mode from page zero",竟果然是BUG!http://www-01.ibm.com/support/docview.wss?rs=630&uid=swg21973408

      2015-12-21 20:15

    • 空间已经转移到新加坡,希望会好一些。

      2015-11-16 14:34

    • 增加新域名liaosnet.cc,与liaosnet.com同指向。

      2015-10-09 15:25

    • 空间迁移到香港。或许速度会快一点。。

      2014-02-13 20:10

    • 解决个问题:NBU配置Storage时的目录在系统分区上,导致备份失败,最终原因是目录在系统分区上时,需要在 This directory can exist on the root file system or system disk. 这个选项前打上勾。

      2012-09-26 22:21

    • More»

    blog sort

    links

    record

    banner

    连接到informix数据库 - PHP 方式

    暗夜星空's Memory from Dec 2 , 2015 at 12:35 PM , under Category:INFORMIX教程
    当前操作系统环境: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

    Page comment lists:

    暗夜星空 2016-09-12 14:41

    @chen:除了pdo_informix外,还需要pdo这个先决组件,你可以在phpinfo()中先看看有没有pdo这个组件。

    chen 2016-08-10 15:19

    [root@one PDO_INFORMIX-1.3.1]# php -e testphp.php
    PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/pdo_informix.so' - /usr/lib64/php/modules/pdo_informix.so: undefined symbol: php_pdo_register_driver in Unknown on line 0
    PHP Fatal error:  Class 'PDO' not found in /home/informix/PDO_INFORMIX-1.3.1/testphp.php on line 3
    麻烦帮我看下这个错误。谢谢!

    Post a comment:

    Your email address will not be published. Required fields are marked﹡