&reftitle.runtime; &extension.runtime;

# MySQLi Configuration Options

&Name; | &Default; | &Changeable; | &Changelog;
mysqli.allow_local_infile | "0" | PHP_INI_SYSTEM | Before PHP 7.2.16 and 7.3.3 the default was "1".
mysqli.local_infile_directory |  | PHP_INI_SYSTEM | Available as of PHP 8.1.0.
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM |
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM |
mysqli.max_links | "-1" | PHP_INI_SYSTEM |
mysqli.default_port | "3306" | PHP_INI_ALL |
mysqli.default_socket | NULL | PHP_INI_ALL |
mysqli.default_host | NULL | PHP_INI_ALL |
mysqli.default_user | NULL | PHP_INI_ALL |
mysqli.default_pw | NULL | PHP_INI_ALL |
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Removed as of PHP 8.2.0
mysqli.rollback_on_cached_plink | "0" | PHP_INI_SYSTEM |

For further details and definitions of the preceding PHP_INI_* constants, see the chapter on configuration changes.

&ini.descriptions.title;

`mysqli.allow_local_infile` `int`

- Allow accessing, from PHP's perspective, local files with LOAD DATA statements

`mysqli.local_infile_directory` `string`

- Allows restricting LOCAL DATA loading to files located in this designated directory.

`mysqli.allow_persistent` `int`

- Enable the ability to create persistent connections using `mysqli_connect`.

`mysqli.max_persistent` `int`

- Maximum of persistent connections that can be made. Set to 0 for unlimited.

`mysqli.max_links` `int`

- The maximum number of MySQL connections per process.

`mysqli.default_port` `int`

- The default TCP port number to use when connecting to the database server if no other port is specified. If no default is specified, the port will be obtained from the `MYSQL_TCP_PORT` environment variable, the `mysql-tcp` entry in `/etc/services` or the compile-time `MYSQL_PORT` constant, in that order. Win32 will only use the `MYSQL_PORT` constant.

`mysqli.default_socket` `string`

- The default socket name to use when connecting to a local database server if no other socket name is specified.

`mysqli.default_host` `string`

- The default server host to use when connecting to the database server if no other host is specified.

`mysqli.default_user` `string`

- The default user name to use when connecting to the database server if no other name is specified.

`mysqli.default_pw` `string`

- The default password to use when connecting to the database server if no other password is specified.

`mysqli.reconnect` `int`

- Automatically reconnect if the connection was lost.

  This &php.ini; setting had been ignored by the mysqlnd driver, and was removed as of PHP 8.2.0.

`mysqli.rollback_on_cached_plink` `bool`

- If this option is enabled, closing a persistent connection will rollback any pending transactions of this connection before it is put back into the persistent connection pool. Otherwise, pending transactions will be rolled back only when the connection is reused, or when it is actually closed.

Users cannot set `MYSQL_OPT_READ_TIMEOUT` through an API call or runtime configuration setting. Note that if it were possible there would be differences between how `libmysqlclient` and streams would interpret the value of `MYSQL_OPT_READ_TIMEOUT`.