我正在尝试在linux服务器和AS400之间建立连接以查询DB2数据库。我安装并配置了unixODBC和iSeries Access驱动程序。将isql
与/etc/odbc.ini
中指定的DSN一起使用时,连接正常。当我运行php -f connect.php
时,连接也可以正常工作,但当我浏览http://localhost/connect.php
时,我收到以下消息:
异常'PDOException',消息'SQLSTATE [01000] SQLDriverConnect:0 [unixODBC] [Driver Manager]无法打开lib'/opt/ibm/iSeriesAccess/lib64/libcwbodbc.so':找不到文件'在/srv/http/connect.php:25堆栈跟踪:#0 /srv/http/connect.php(25):PDO-> __ construct('odbc:DRIVER = {iS ...','', '')#1 {main}
我认为它必须是一个许可问题...但我不知道该怎么做。有任何想法吗?谢谢。
答案 0 :(得分:1)
好的,我找到了解决方案,我会将它发布给任何需要它的人。
在/ usr / lib /中创建驱动程序文件的符号链接解决了这个问题。
sudo ln -s /opt/ibm/iSeriesAccess/lib64/* /usr/lib/*
之后,Apache / PHP将能够在没有打嗝的情况下找到该文件。
希望它有所帮助。