ODBC_connect仅与psql用户一起运行

时间:2018-06-08 07:43:27

标签: php odbc unixodbc

我有一个php脚本,它从odbc数据库(普及客户端)询问数据。

当我在CLI中以psql用户(安装程序创建)运行脚本时,我没有问题并且脚本运行。

当我在浏览器中运行脚本(作为www-data)或在root或cronjob的CLI中运行时,我收到错误:

PHP Warning:  odbc_connect(): SQL error: [unixODBC][Driver Manager]Can't open lib '/usr/local/psql/lib64/libodbcci.so' : file not found, SQL state 01000 in SQLConnect in /var/ww....

我添加了用户www-data& root是普及客户端安装的组。

所有内容都在Debian服务器上运行。

1 个答案:

答案 0 :(得分:0)

解决方案,如评论中所示 -

为每个需要执行任务的用户和进程设置环境变量,以匹配对PHP和psql用户有效的环境。

这是通过使用一个shellcript完成整个任务来实现的。