www-data无法找到ODBC驱动,SQLAllocHandle调用失败求助
SQL Anywhere 17 ODBC连接故障排查(Ubuntu + PHP)
我是Linux、ODBC及PHP新手,之前能让Ubuntu服务器上的PHP脚本通过ODBC连接外部只读SQL Anywhere 17数据库,后来出了问题,恢复服务器快照后还是没法正常运行。
相关文件信息
lrwxrwxrwx 1 root root 18 Feb 28 10:13 libdbodbc17_r.so -> libdbodbc17_r.so.1 -rwxr-xr-x 1 www-data www-data 1804560 Feb 28 10:13 libdbodbc17_r.so.1
www-data执行isql的初始错误
执行命令:
sudo -u www-data isql -v DSN UID PASSWORD
得到错误输出:
[01000][unixODBC][Driver Manager]Can't open lib '/opt/sqlanywhere17/lib64/libdbodbc17_r.so' : file not found [ISQL]ERROR: Could not SQLConnect
配置LD_LIBRARY_PATH后的新问题
我在/etc/apache2/envvars中添加了export LD_LIBRARY_PATH=/opt/sqlanywhere17/lib64,库文件找不到的问题解决了,但又出现新错误:
[IM004][unixODBC][Driver Manager]Driver's SQLAllocHandle on SQL_HANDLE_HENV failed [ISQL]ERROR: Could not SQLConnect
我完全搞不懂这个错误的原因和来源。目前的情况是:终端普通用户(非root)执行isql可以正常连接,我对比了两种身份下的strace日志以及普通用户的成功执行结果,但还是找不到问题所在。
内容的提问来源于stack exchange,提问作者TLaine
相关产品推荐
相关产品推荐

