Налаштування під час виконання

Поведінка цих функцій залежить від установок у php.ini.

ibm_db2 Опції налаштування

ИмяПо умолчаниюМесто измененияСписок изменений
ibm_db2.binmode"1"INI_ALL
ibm_db2.i5_all_pconnect"0"INI_SYSTEMДоступно з ibm_db2 1.6.5.
ibm_db2.i5_allow_commit"0"INI_SYSTEMДоступно з ibm_db2 1.4.9.
ibm_db2.i5_blank_userid"0"INI_SYSTEMДоступно з ibm_db2 1.9.7.
ibm_db2.i5_char_trim"0"INI_SYSTEMДоступно з ibm_db2 2.1.0.
ibm_db2.i5_dbcs_alloc"0"INI_SYSTEMДоступно з ibm_db2 1.5.0.
ibm_db2.i5_guard_profile"0"INI_SYSTEMДоступно з ibm_db2 1.9.7.
ibm_db2.i5_ignore_userid"0"INI_SYSTEMДоступно з ibm_db2 1.8.0.
ibm_db2.i5_job_sort"0"INI_SYSTEMДоступно з ibm_db2 1.8.4.
ibm_db2.i5_log_verbose"0"INI_SYSTEMДоступно з ibm_db2 1.9.7.
ibm_db2.i5_max_pconnect"0"INI_SYSTEMДоступно з ibm_db2 1.9.7.
ibm_db2.i5_override_ccsid"0"INI_SYSTEMДоступно з ibm_db2 1.9.7.
ibm_db2.i5_servermode_subsystemNULLINI_SYSTEMДоступно з ibm_db2 1.9.7.
ibm_db2.i5_sys_naming"0"INI_SYSTEMДоступно з ibm_db2 1.9.7.
ibm_db2.instance_nameNULLINI_SYSTEMДоступно з ibm_db2 1.0.2.

Коротке пояснення конфігураційних директив.

ibm_db2.binmodeint

Ця опція контролює режим конвертації з/в бінарні дані у програмі PHP.

  • 1 (DB2_BINARY)

  • 2 (DB2_CONVERT)

  • 3 (DB2_PASSTHRU)

ibm_db2.i5_all_pconnectint

Ця опція змушує всі з'єднання бути постійними в операційній системі IBM i. Фактично, всі виклики функції db2_connect() прозоро стають викликами функції db2_pconnect(). За замовчуванням ця опція дорівнює . Ця опція підвищує зручність у випадках коли постійні з'єднання працюють швидше. Її не потрібно викликати у нових додатках.

  • 0 - можуть бути встановлені постійні та непостійні з'єднання.

  • 1 — Усі з'єднання незмінні.

ibm_db2.i5_allow_commitint

Ця опція керує режимом ізоляції транзакцій. За замовчуванням ця опція дорівнює тому контроль зобов'язань не буде використаний. Цю опцію можна перевизначити при підключенні, якщо ключ масиву i5_commitустановлен в переданном в функциюdb2_connect() або db2_pconnect() масиві налаштувань підключення.

  • 0 - контроль зобов'язань не використовується.

  • 1 - read uncommitted, можливе брудне читання.

  • 2 - read committed, брудне читання неможливо.

  • 3 - repeatable read, брудне і неповторне читання не можливі.

  • 4 - serializeable, брудне читання, неповторне читання і фантоми не можливі.

ibm_db2.i5_blank_useridint

Ця опція керує тим, чи має бути дозволений порожній ідентифікатор користувача в операційній системі IBM i. За замовчуванням значення цієї опції дорівнює . Відмінність цієї опції від опції ibm_db2.i5_ignore_userid полягає в тому, що ця опція не змушує всі ідентифікатори користувачів бути порожніми або змінювати поведінку завдання, але дозволяє передавати порожній ідентифікатор користувача для підключення до СУБД Db2 в якості поточного користувача.

  • 0 — Не дозволяйте передачу порожнього ідентифікатора користувача.

  • 1 — Дозволяє надсилати порожній ідентифікатор користувача.

ibm_db2.i5_char_trimint

Цей параметр керує тим, чи будуть обрізатися кінці рядків в операційній системі IBM i. Це підвищує зручність, оскільки у багатьох таблицях фіксовані розміри стовпців, доповнені пробілами. Значення цієї опції за промовчанням

  • 0 - Стовпці не обрізаються.

  • 1 — Прогалини в кінці стовпців символів, що повертаються, будуть видалені.

ibm_db2.i5_dbcs_allocint

Ця опція впливає на стратегію розподілу внутрішнього буфера операційних систем IBM i. За замовчуванням значення цієї опції дорівнює . Якщо ця опція встановлена, виділяються буфери більшого розміру, якщо база даних недооцінює розмір рядка під час перетворення між кодуванням. Для цієї опції потрібно в шість разів більше пам'яті для буферів (щоб врахувати можливі послідовності UTF-8), але може бути потрібна, якщо повертаються обрізані дані.

  • 0 - Виділяється мінімальний розмір буферів.

  • 1 — Виділення максимального розміру буферів.

ibm_db2.i5_guard_profileint

Ця опція перевіряє, чи був переключений профіль користувача бази даних при підключенні до постійного з'єднання з базою даних в операційній системі IBM i, і якщо так, відключається від бази даних. За промовчанням для цієї опції встановлено значення

  • 0 - Не перевіряти зміну профілів.

  • 1 - Перевірити зміну профілів, і якщо так, відключати.

ibm_db2.i5_log_verboseint

Ця опція встановлює, чи діагностичні повідомлення SQL на кшталт попереджень і помилок надсилатимуться до журналу помилок PHP в операційній системі IBM i. Зазвичай до PHP-логу надсилається лише коротке повідомлення про збій (наприклад, «виконання виразу не вдалося»), оскільки за замовчуванням значення цієї опції встановлено як . Зверніть увагу, що все ще можна і навіть потрібно викликати функцію db2_stmt_errormsg() вручну як частину перевірки того, чи функція не завершиться невдало.

  • 0 — Реєструються лише короткі повідомлення.

  • 1 — На додаток до коротких повідомлень реєструються діагностичні повідомлення SQL.

ibm_db2.i5_ignore_useridint

Ця опція ігнорує ідентифікатор користувача при підключенні до бази даних під час роботи в операційній системі IBM i і запускає функціонал SQL/CLI всередині завдання PHP, а не окремого завдання. За замовчуванням значення цієї опції дорівнює . Якщо увімкнено, вона більше не використовує окреме завдання сервера бази даних і використовує лише поточний профіль користувача для бази даних, ігноруючи ім'я користувача та пароль, передані у функції db2_connect() і db2_pconnect()

  • 0 — Використовує дані облікових даних та завдання SQL/CLI.

  • 1 — Використовує порожні облікові дані та запускає SQL/CLI у завданні PHP.

ibm_db2.i5_job_sortint

Керує опцією сортування завдань у операційній системі IBM i. За замовчуванням значення цієї опції дорівнює . Це відповідає значенню атрибута SQL/CLI **SQL_ATTR_CONN_SORT_SEQUENCE**в IBM i.

  • 0 — Використовує налаштування сортування констант***HEX**, сортування за байтами.

  • 1 — Використовує послідовність сортування завдань, встановлену для PHP-завдання.

  • 2 — Використовує послідовність сортування завдань, встановлену для завдання бази даних.

ibm_db2.i5_max_pconnectint

Ця опція впливає на те, скільки разів постійне з'єднання можна перевикористовувати під час роботи в операційній системі IBM i. За замовчуванням значення цієї опції дорівнює , що означає, що постійне з'єднання можна використовувати повторно. Цей параметр допомагає уникнути проблем довгострокового завдання бази даних. (Тобто якщо процедура викликає витік пам'яті), але це явно не довгострокове рішення.

ibm_db2.i5_override_ccsidint

Ідентифікатор PASE CCSID для перетворення символів із коду EBCDIC в операційній системі IBM i. За замовчуванням це , який вибере значення за промовчанням ідентифікатор CCSID для завдання оточення PASE, який буде взято з налаштувань мовного стандарту оточення PASE. Наприклад, установка для цієї опції значення 1208 використовуватиме кодування UTF-8. Цю опцію можна змінювати лише тоді, коли ідентифікатор CCSID завдання оточення PASE не відповідає ідентифікатору CCSID, який очікувався, і не можна змінити мовний стандарт.

Дізнатися більше про ідентифікатор CCSIDs операційної системи IBM i можна в » документації IBM. Дізнатися, як мовні стандарти в оточенні PASE системи IBM i зіставляються з ідентифікаторами CCSID можна також у » документації IBM

ibm_db2.i5_sys_namingint

Ця опція керує режимом іменування при підключенні до IBM i. За замовчуванням значення цієї опції дорівнює . Режим іменування впливає спосіб дозволу імен і дозволений синтаксис імен. Якщо встановлено значення , для уточнення імен вона використовуватиме точки, а для дозволу імен - бібліотеку за промовчанням або ідентифікатор користувача. Якщо встановлено значення для уточнення імен вона використовуватиме слеші, а для вирішення імен — список бібліотек завдань.

  • 0 — Використовувати режим іменування SQL (SCHEMA.TABLE).

  • 1 — Використовувати режим системного іменування (LIBRARY/FILE).

Дізнатися більше про режими іменування в IBM i можна в » документації IBM

ibm_db2.i5_servermode-subsystemstring

Цей параметр змінює те, під якою підсистемою виконуються завдання сервера бази даних IBM i. За замовчуванням значення цієї опції дорівнює null, тому завдання для QSQSRVR-завдань будуть виконуватися в підсистемі за промовчанням.

ibm_db2.instance_namestring

В операційних системах Linux та UNIX ця опція визначає ім'я екземпляра для каталогізованих підключень до бази даних. За замовчуванням значення цієї опції дорівнює null. Якщо цю опцію встановлено, її значення перевизначає налаштування змінної оточення DB2INSTANCE.

Ця функція ігнорується в операційних системах Windows.