我在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':找不到文件,SQLConnect中的SQL状态01000在/中第2行的var / www / html / pst.php
我尝试将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
我已经向pvsw组添加了apache
/ usr / bin / gpasswd -a apache pvsw
答案 0 :(得分:0)
我的猜测是Apache和PHP作为64位进程运行,无法加载32位ODBC驱动程序。我快速安装了CentOS 6.2 x64并安装了默认的Apache和PHP,看到它是64位版本。在phpinfo页面中,我看到" 2.6.32-220.el6.x86_64"在系统部分。