为 Pervasive v10 ODBC 客户端 Centos 6.2 设置正确的 apache 环境


Setting correct apache environment for Pervasive v10 ODBC client Centos 6.2

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

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

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

警告:odbc_connect():SQL 错误:[unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so' :找不到文件,SQL 状态 01000 在 SQLConnect 中的/var/www/html/pst.php 第 2 行

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

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

我已将 apache 添加到 pvsw 组

/

usr/bin/gpasswd -a Apache PVSW

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