rhel6上的php pdo_informix - 未实现可选功能

时间:2015-08-20 10:11:47

标签: php linux pdo informix

我已经配置了pdo_informix:

[root@cc-allplus nginx]# php -i |egrep "pdo|PDO"
PDO
PDO support => enabled
PDO drivers => sqlite, sqlite2, odbc, pgsql, informix, dblib
pdo_dblib
PDO Driver for FreeTDS/Sybase DB-lib => enabled
pdo_informix
pdo_informix support => enabled
PDO_ODBC
PDO Driver for ODBC (unixODBC) => enabled
pdo_pgsql
PDO Driver for PostgreSQL => enabled
Revision =>  $Id: pdo_pgsql.c 300351 2010-06-10 12:11:19Z iliaa $
pdo_sqlite
PDO Driver for SQLite 3.x => enabled

并尝试创建连接:

try{

    $dbh = new PDO ("informix:host=some.example.ru; service=50000; database=test; server=test_net; protocol=onsoctcp;DB_LOCALE=en_US.57372; CLIENT_LOCALE=en_US.57372;", "dcs_test", "********");

    }catch (PDOException $e){
        echo 'Failed to execute your db connection: '. $e->getMessage().'</br>'; exit;
    }

响应是:

Failed to execute your db connection: SQLSTATE=HY000, SQLSetConnectAttr: -11097 [Informix][Informix ODBC Driver]Optional feature not implemented

谷歌搜索没有帮助解决这个问题..欢迎提出任何建议

1 个答案:

答案 0 :(得分:1)

问题解决了。 对于那些可能会遇到与informix或其他pdo的图书馆相同的麻烦的人,我想分享一下。

我的麻烦在于选择最新版本的PDO_INFORMIX soursec。当我搜索并发现时, php 5.3 需要 informix不迟于1.2.6 版本。

我发现来自匈牙利语的文章中的信息,这是唯一关于整个www中php和PDO_INFORMIX之间不兼容的帖子。

在IBM网站上没有任何此类信息的字符串,也没有pdo PECL网站上的任何信息。上帝,这需要我几天,但我做到了!

在我找到正确的版本后,我不得不重新编译php,因为它已将1.3.0版本的informix pdo放在缓存中,并且不想使用旧版本。

希望这会有所帮助!