Bug #76703 [Com]: MYSQLI_OPT_READ_TIMEOUT cannot be changed after connection established
| From: | liyang1025 at gmail dot com | Date: | Tue, 07 Aug 2018 07:44:47 +0000 |
| Subject: | Bug #76703 [Com]: MYSQLI_OPT_READ_TIMEOUT cannot be changed after connection established | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-216658@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76703&edit=1
ID: 76703
Comment by: liyang1025 at gmail dot com
Reported by: php at darkain dot com
Summary: MYSQLI_OPT_READ_TIMEOUT cannot be changed after
connection established
Status: Open
Type: Bug
Package: MySQLi related
Operating System: Debian 9
PHP Version: 7.2.8
Block user comment: N
Private report: N
New Comment:
I'm searching the PHP-src source code and find some clue, the MYSQLI_OPT_READ_TIMEOUT option
will be only assigned to the php_stream is at the establish connection and then reassign the option
value but the php_stream's option is not will be reassigned.
Previous Comments:
------------------------------------------------------------------------
[2018-08-03 23:02:14] php at darkain dot com
Description:
------------
The MYSQLI_OPT_READ_TIMEOUT option cannot be changed after a connection is established. This means
if it is set to a low value to ensure a stable initial connection to the MySQL server, it cannot be
raised back up again before executing long running queries.
Test script:
---------------
<?php
$connection = mysqli_init();
//ensure we receive a reply from mysql in under 1 second
$connection->options(MYSQLI_OPT_READ_TIMEOUT, 1);
//connect to the mysql server
$connection->real_connect($server, $username, $password, $database);
//change timeout to 1 hour so we can run a long query
$connection->options(MYSQLI_OPT_READ_TIMEOUT, 60*60);
//attempt to pull results from a very large table, something that would exceed the initial 1 second
timeout value, but not the 1 hour timeout value
$connection->query('SELECT * FROM
huge_table');
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=76703&edit=1