php 5.3上的php_pdo_informix

时间:2012-08-09 22:29:18

标签: php pdo informix

我有一个广泛使用PDO的php应用程序,并且有一个具有informix的新客户端。以前我们使用php 5.2没有任何问题但是切换到PHP 5.3是不可避免的,所以:

有人找到了在php5.3上使用php_pdo_informix的方法,还是完全过时了,我必须找到另一种选择?

这是我们的测试环境(CentOS)所需要的,但开发人员目前在Windows上工作我们遇到了类似的问题。有一个php_pdo_informix.dll,但它是针对php5.2编译的,并且拒绝在php5.3上加载

有人有php5.3的dll吗?

THX

我已经尝试过了:

$ sudo pecl install pdo_informix
pecl.php.net is using a unsupported protocol - This should never happen.
pecl/PDO_INFORMIX requires package "pear/PDO"
No valid packages found
install failed

pecl install --alldeps pdo_informix

显示它依赖于pear / PDO,但在5.3

中已弃用

并使用显式版本1.2.6,1.2.7无效

即使我尝试安装pear / PDO,它也会因许多错误而失败,因为PHP中有许多API更改会中断。

尝试预先安装pdo时会出现这种错误:(某些行已省略)

$ sudo pecl install  pdo
WARNING: "pecl/PDO" is deprecated in favor of "channel://http://svn.php.net/viewvc/php/php-src/trunk/ext/pdo//ext/PDO"
downloading PDO-1.0.3.tgz ...
Starting to download PDO-1.0.3.tgz (52,613 bytes)
.............done: 52,613 bytes
12 source files, building
<...more lines ...>
/tmp/pear/temp/PDO/pdo_dbh.c: In function 'pdo_stmt_instantiate':
/tmp/pear/temp/PDO/pdo_dbh.c:410:8: error: 'zval' has no member named 'refcount'
/tmp/pear/temp/PDO/pdo_dbh.c:411:8: error: 'zval' has no member named 'is_ref'
/tmp/pear/temp/PDO/pdo_dbh.c: In function 'pdo_stmt_construct':
/tmp/pear/temp/PDO/pdo_dbh.c:435:6: error: 'zend_fcall_info' has no member named 'object_pp'
/tmp/pear/temp/PDO/pdo_dbh.c:458:6: error: 'zend_fcall_info_cache' has no member named 'object_pp'
/tmp/pear/temp/PDO/pdo_dbh.c: In function 'zim_PDO_setAttribute':
/tmp/pear/temp/PDO/pdo_dbh.c:752:12: error: 'zval' has no member named 'refcount'
/tmp/pear/temp/PDO/pdo_dbh.c: In function 'zim_PDO_getAttribute':
/tmp/pear/temp/PDO/pdo_dbh.c:818:28: error: 'zval' has no member named 'refcount'
/tmp/pear/temp/PDO/pdo_dbh.c: In function 'pdo_hash_methods':
/tmp/pear/temp/PDO/pdo_dbh.c:1122:24: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
/tmp/pear/temp/PDO/pdo_dbh.c:1126:20: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
make: *** [pdo_dbh.lo] Error 1
ERROR: `make' failed

如果我尝试安装特定的pdo_informix版本,我会得到此输出:

pecl install --alldeps  http://pecl.php.net/get/PDO_INFORMIX-1.2.6.tgz 
downloading PDO_INFORMIX-1.2.6.tgz ...
Starting to download PDO_INFORMIX-1.2.6.tgz (65,676 bytes)
.................done: 65,676 bytes
WARNING: "pecl/PDO" is deprecated in favor of "channel://http://svn.php.net/viewvc/php/php-  src/trunk/ext/pdo//ext/PDO"
downloading PDO-1.0.3.tgz ...
Starting to download PDO-1.0.3.tgz (52,613 bytes)
...done: 52,613 bytes
12 source files, building
running: phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
<more lines>
<same output as above>

2 个答案:

答案 0 :(得分:1)

PDO是核心的一部分;无需从pecl安装它。

可能您必须安装您的Linux发行版的php-pdo-informix软件包,例如:通过apt-getyum

答案 1 :(得分:0)

您需要编译模块。官方链接:

A step-by-step how-to guide to install, configure, and test a Linux, Apache, Informix, and PHP server

原始答案:@ user1998717