PDO_ODBC - драйвер, реализующий интерфейс PHP Data Objects (PDO) для доступа к базам данных через драйвер ODBC или через библиотеку IBM DB2 Call Level Interface (DB2 CLI). В текущий момент PDO_ODBC поддерживает различные "оттенки" драйверов баз данных:
Поддержка доступа к серверам IBM DB2 Universal Database, Cloudscape и Apache Derby через свободный клиент DB2 express-C.
Поддерживает доступ к базам данных через менеджер драйверов unixODBC и собственные ODBC драйверы баз данных.
Предоставляет опцию компиляции менеджеров драйверов ODBC, которые не поддерживаются PDO_ODBC напрямую.
В Windows php_pdo_odbc.dll должно быть разрешено как расширение в php.ini. Оно собирается с участием Windows ODBC Driver Manager, так что PHP сможет соединяться с любой базой данных определенной как System DSN и является рекомендованным для использования для соединения с базами данных Microsoft SQL Server.
Начиная с PHP 5.1, расширение PDO_ODBC включено в исходный код PHP. Вы можете скомпилировать это расширение как статическое или разделяемое, используя следующий синтаксис configure.
./configure --with-pdo-odbc=ibm-db2,/opt/IBM/db2/V8.1/
Если вы не укажете директорию установки библиотек и заголовочных файлов DB2, configure будет искать их в /home/db2inst1/sqllib.
./configure --with-pdo-odbc=unixODBC,/usr/local
./configure --with-pdo-odbc=generic,/usr/local,libname,ldflags,cflags
Поведение этих функций зависит от установок в php.ini.
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
pdo_odbc.connection_pooling | "strict" | PHP_INI_ALL | Доступно с PHP 5.1.0. |
pdo_odbc.db2_instance_name | NULL | PHP_INI_SYSTEM | Доступно с PHP 5.1.1. Эта возможность устарела и будет обязательно удалена в будущем. |
Краткое разъяснение конфигурационных директив.
pdo_odbc.connection_pooling
string
Нужно ли объединять соединения ODBC. Может быть "strict",
"relaxed" или "off" (аналогично
""). Параметр определяет как строго менеджер соединений
должен сравнивать параметры соединений для выбора, создавать новое соединение или
возвращать уже существующее. По умолчанию рекомендуется использовать
strict
, что означает, что сохраненное соединение будет
возвращаться только, если все параметры точно совпадают.
relaxed
приведет к тому, что закешированное соединение
будет возвращено, если параметры схожи. Это приведет к более активному
использованию кеша, но может привести к утечке информации о соединении
(к примеру) между виртуальными хостами.
Эту настройку можно изменить только в php.ini и воздействует на все процессы; все модули, загшруженные в процексс и использующие те же библиотеки ODBC будут зависить от этой настройки, включая Унифицированное расширение ODBC.
Значение relaxed
не должно использоваться на
общем хостинге в целях безопасности.
Если у вас нет очень серьезного повода использовать значение, отличное от
strict
- не меняйте его.
pdo_odbc.db2_instance_name
string
Если вы скомпилировали PDO_ODBC с использованием db2, эта опция установит значение переменной окружения DB2INSTANCE в системах Linux и UNIX, равным выбранному имени экземпляра DB2. Это позволяет PDO_ODBC опредилить местоположение библиотек DB2 и произвести соединение с каталогом базы данных DB2.
Эту настройку можно изменить только в php.ini и воздействует на все процессы; все модули, загруженные в процексс и использующие те же библиотеки ODBC будут зависить от этой настройки, включая унифицированное расширение ODBC.
Эта опция не работает в Windows.