Wrt mysqli_reconnect, it doesn't actually work in the default setup. Please refer to https://bugs.php.net/bug.php?id=52561 which explains why.
The behaviour of these functions is affected by settings in php.ini.
Name | Default | Changeable | Changelog |
---|---|---|---|
mysqli.allow_local_infile | "1" | PHP_INI_SYSTEM | Available since PHP 5.2.4. |
mysqli.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 5.3.0. |
mysqli.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 5.3.0. |
mysqli.max_links | "-1" | PHP_INI_SYSTEM | Available since PHP 5.0.0. |
mysqli.default_port | "3306" | PHP_INI_ALL | Available since PHP 5.0.0. |
mysqli.default_socket | NULL | PHP_INI_ALL | Available since PHP 5.0.0. |
mysqli.default_host | NULL | PHP_INI_ALL | Available since PHP 5.0.0. |
mysqli.default_user | NULL | PHP_INI_ALL | Available since PHP 5.0.0. |
mysqli.default_pw | NULL | PHP_INI_ALL | Available since PHP 5.0.0. |
mysqli.reconnect | "0" | PHP_INI_SYSTEM | Available since PHP 4.3.5. |
mysqli.rollback_on_cached_plink | TRUE | PHP_INI_SYSTEM | Available since PHP 5.6.0. |
mysqli.cache_size | "2000" | PHP_INI_SYSTEM | Available since PHP 5.3.0. |
For further details and definitions of the preceding PHP_INI_* constants, see the chapter on configuration changes.
Here's a short explanation of the configuration directives.
mysqli.allow_local_infile
integer
Allow accessing, from PHP's perspective, local files with LOAD DATA statements
mysqli.allow_persistent
integer
Enable the ability to create persistent connections using mysqli_connect().
mysqli.max_persistent
integer
Maximum of persistent connections that can be made. Set to 0 for unlimited.
mysqli.max_links
integer
The maximum number of MySQL connections per process.
mysqli.default_port
integer
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. Doesn't apply in safe mode.
mysqli.default_user
string
The default user name to use when connecting to the database server if no other name is specified. Doesn't apply in safe mode.
mysqli.default_pw
string
The default password to use when connecting to the database server if no other password is specified. Doesn't apply in safe mode.
mysqli.reconnect
integer
Automatically reconnect if the connection was lost.
mysqli.rollback_on_cached_plink
bool
Used for rollbacking connections put back into the persistent connection pool.
mysqli.cache_size
integer
Available only with mysqlnd.
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.
Wrt mysqli_reconnect, it doesn't actually work in the default setup. Please refer to https://bugs.php.net/bug.php?id=52561 which explains why.