0

我已经在 Centos 6.2 64 位上安装了 Pervasive v10 linux 32 位 ODBC 客户端(64 位不可用)。我可以成功使用 isql 连接到远程数据源。但是,当尝试通过 PHP 连接时:

$connect = odbc_connect("demodata", "", "");

在我得到正确的环境变量之前,我得到了 isql 给我的同样的错误。

警告:odbc_connect(): SQL 错误:[unixODBC][Driver Manager]Can't open lib '/usr/local/psql/lib/odbcci.so' : file not found, SQL state 01000 in SQLConnect in /var/www /html/pst.php 在第 2 行

我尝试将环境变量添加到 /etc/sysconfig/httpd:

导出 PVSW_ROOT=/usr/local/psql
导出 PATH=$PVSW_ROOT/bin:/bin:/usr/bin
导出 LD_LIBRARY_PATH=$PVSW_ROOT/lib:$PVSW_ROOT/lib64:$PVSW_ROOT/bin:/usr/lib
导出 MANPATH=$ PVSW_ROOT/man:$MANPATH
导出 BREQ=$PVSW_ROOT/lib
导出 LD_BIND_NOW=1

我已将 apache 添加到 pvsw 组

/usr/bin/gpasswd -a apache pvsw

4

1 回答 1

0

我的猜测是 Apache 和 PHP 作为 64 位进程运行,无法加载 32 位 ODBC 驱动程序。我快速安装了 CentOS 6.2 x64 并安装了默认的 Apache 和 PHP,发现它是 64 位版本。在 phpinfo 页面中,我在系统部分看到“2.6.32-220.el6.x86_64”。

于 2012-06-19T15:58:42.180 回答