从浏览器通过ODBC/PDO连接PHP到AS400错误


PHP to AS400 Connection via ODBC/PDO error from browser

我正在尝试在linux服务器和AS400之间建立连接以查询DB2数据库。我安装并配置了unixODBC和iSeries Access驱动程序。当使用isql/etc/odbc.ini中指定的DSN时,连接可以正常通过。当我运行php -f connect.php时,连接也可以工作,但是当我浏览到http://localhost/connect.php时,我得到以下消息:

异常'PDOException' with message 'SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib '/opt/ibm/iSeriesAccess/lib64/libcwbodbc。/srv/http/connect.php:25堆栈跟踪:#0/srv/http/connect.php(25): PDO->__construct('odbc:DRIVER={iS…', ", ") #1 {main}

我认为这一定是一个许可问题…但我不知道该怎么做。什么好主意吗?谢谢你。

好的,我找到了解决方案,我会把它贴出来给任何需要的人。

在/usr/lib/中创建一个指向驱动文件的符号链接可以解决这个问题。

sudo ln -s /opt/ibm/iSeriesAccess/lib64/* /usr/lib/*

之后,Apache/PHP将能够定位文件而不会打嗝。

希望能有所帮助。