【发布时间】:2018-06-08 07:43:26
【问题描述】:
我有一个 php 脚本,它从 odbc 数据库(普及客户端)中获取数据。
当我在 CLI 中作为 psql 用户(安装程序创建)运行脚本时,我没有问题并且脚本运行。
当我在浏览器中(作为 www-data)或在 CLI 中以 root 或 cronjob 运行脚本时,我会收到错误消息:
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 服务器上运行。
【问题讨论】:
-
PHP 是 32 位还是 64 位?
ls -l /usr/local/psql/lib64/libodbcci.so和file /usr/local/psql/lib64/libodbcci.so的输出是什么? -
我运行的是 64 位版本,ls 命令的输出是:
lrwxrwxrwx 1 psql pvsw 15 jun 5 15:52 /usr/local/psql/lib64/libodbcci.so -> libodbcci.so.11。文件命令的输出是:/usr/local/psql/lib64/libodbcci.so: symbolic link to libodbcci.so.11 -
ls 命令的输出是:
lrwxrwxrwx 1 psql pvsw 15 jun 5 15:52 /usr/local/psql/lib64/libodbcci.so -> libodbcci.so.11。文件命令的输出是:/usr/local/psql/lib64/libodbcci.so: symbolic link to libodbcci.so.11 -
所以现在很明显...
ls -l /usr/local/psql/lib64/libodbcci.so.11和file /usr/local/psql/lib64/libodbcci.so.11的输出是什么 -
lrwxrwxrwx 1 psql pvsw 26 jun 5 15:52 /usr/local/psql/lib64/libodbcci.so.11 -> libodbcci.so.11.30.051.000和/usr/local/psql/lib64/libodbcci.so.11: symbolic link to libodbcci.so.11.30.051.000further 。 . .-rwxr-x--- 1 psql pvsw 662429 jun 5 15:51 /usr/local/psql/lib64/libodbcci.so.11.30.051.000和/usr/local/psql/lib64/libodbcci.so.11.30.051.000: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped