Installation
Resource Types
Installing/Configuring
PHP Manual

## Runtime Configuration

The behaviour of these functions is affected by settings in php.ini.

Ingres configuration options
Name | Default | Changeable | Changelog
--- | --- | --- | ---
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.array_index_start | "1" | PHP_INI_ALL | Available since ingres 1.4.0.
ingres.auto | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Available since ingres 1.2.0.
ingres.cursor_mode | "0" | PHP_INI_ALL | Available since ingres 1.1.0.
ingres.default_database | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_password | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.default_user | NULL | PHP_INI_ALL | Available since ingres 1.0.0
ingres.describe | 1 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.fetch_buffer_size | 100 | PHP_INI_ALL | Available since ingres 2.1.0
ingres.max_links | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Available since ingres 1.0.0
ingres.reuse_connection | "1" | PHP_INI_ALL | Available since ingres 2.0.0
ingres.scrollable | "1" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace | "0" | PHP_INI_ALL | Available since ingres 2.0.0.
ingres.trace_connect | "0" | PHP_INI_ALL | Available since ingres 1.2.1.
ingres.utf8 | "1" | PHP_INI_ALL | Available since ingres 2.0.0.

For further details and definitions of the PHP_INI_* modes, see the Where a configuration setting may be set.

Here's a short explanation of the configuration directives.

`ingres.allow_persistent` boolean

  Specifies whether to allow persistent connections to Ingres

`ingres.array_index_start` integer

  Specifies the start value for an integer key for arrays generated by ingres_fetch_row() or ingres_fetch_array(). By default `ingres.array_index_start` is set to 1. If you wish to make the ingres extension behave like other database extensions set this configuration option to 0.

`ingres.auto` boolean

  Enables or disables autocommit emulation. Ingres cannot have multiple cursors open with autocommit enabled. When enabled, the driver emulates autocommit.

`ingres.blob_segment_length` integer

  Specifies the amount of memory to use when reading BLOB data, in bytes

`ingres.cursor_mode` integer

  Specifies the default mode for cursors opened with ingres_prepare(). Valid values are `INGRES_CURSOR_UPDATE` or `INGRES_CURSOR_READONLY`.

`ingres.default_database` string

  Specifies the default database name to use when connecting to the database server if no other name is specified. Does not apply in SQL safe mode.

`ingres.default_password` string

  Specifies the default password to use when connecting to the database server if no other name is specified. Does not apply in SQL safe mode.

`ingres.default_user` string

  Specifies the default user name to use when connecting to the database server if no other name is specified. Does not apply in SQL safe mode.

`ingres.describe` boolean

  Enables the use of DESCRIBE INPUT to determine the expected data types for queries that use parameters. Available with Ingres 9.1.0 and later. When disabled, queries that have parameters passed may need to manually describe the types of those parameters using the types parameter in ingres_query().

  > Note: Enabling this feature with ingres_query() will cause additional communications traffic between this extension and the server. To minimize this additional traffic, use ingres_prepare() and ingres_execute().

`ingres.fetch_buffer_size` integer

  Specifies the number of pre-fetch rows that ingres_fetch_array(), ingres_fetch_object() and ingres_fetch_row() will try and fetch in one fetch operation.

`ingres.max_links` integer

  Specifies the maximum number of Ingres sessions allowed per process or thread. The number of sessions should not exceed the total number of connected sessions configured within Ingres.

`ingres.max_persistent` integer

  Specifies the maximum number of persistent Ingres sessions allowed per process or thread. The number of sessions should not exceed the total number of connected sessions configured within Ingres.

`ingres.reuse_connection` boolean

  Reuses an existing active connection if connecting to the same database with the same user name

`ingres.scrollable` boolean

  Enables support for scrollable cursors. When fetching CLOB or BLOB data, this should be set to `FALSE`. Available with Ingres 9.2.0 or later.

`ingres.trace` boolean

  Enables simple tracing using `E_NOTICE` messages

`ingres.trace_connect` boolean

  Prints `E_NOTICE` messages during ingres_connect() or ingres_pconnect() calls

`ingres.utf8` boolean

  Assumes that strings being passed to National Character column types (NVARCHAR or NCHAR) are using UTF8 encoding and converts them to UTF16 for the server

Installation
Resource Types
Installing/Configuring
PHP Manual