Я пытаюсь установить соединение между сервером Linux и нашим AS400 для запроса базы данных DB2. Я установил и настроил как unixODBC, так и драйверы iSeries Access. Когда используешь isql
с DSN, указанным в /etc/odbc.ini
соединение проходит нормально. Когда я бегу 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 -> __ (‘odbc: DRIVER = {iS …’, », ») # 1 {main }
Я предполагаю, что это должно быть проблема с разрешением … Но я не уверен, как это сделать. Есть идеи? Спасибо.
Хорошо, я нашел решение и выложу его всем, кому это нужно.
Создание символической ссылки на файлы драйвера в / usr / lib / решает проблему.
sudo ln -s /opt/ibm/iSeriesAccess/lib64/* /usr/lib/*
После этого Apache / PHP сможет найти файл без сбоев.
Надеюсь, поможет.
Других решений пока нет …