Bug #64549 [Com]: mysqlnd persistent connection handling out of control

From: Date: Mon, 15 Oct 2018 20:45:51 +0000
Subject: Bug #64549 [Com]: mysqlnd persistent connection handling out of control
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-217582@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=64549&edit=1

 ID:                 64549
 Comment by:         nick at sabramedia dot com
 Reported by:        rgagnon24 at gmail dot com
 Summary:            mysqlnd persistent connection handling out of
                     control
 Status:             Open
 Type:               Bug
 Package:            MySQL related
 Operating System:   CentOS 5.9
 PHP Version:        5.3.23
 Block user comment: N
 Private report:     N

 New Comment:

We have spent a few days trying to figure this one out. We are moving to a new server with Ubuntu
Bionic, using PHP 5.6.38 and mysqlnd as the driver. We need to use persistent connections
(PDO::ATTR_PERSISTENT => TRUE). However, we kept getting the server gone away or lost connection
errors, apparently a false positive. These went away when we took persistent connections off. The
solution for using persistent connections was to use the error control operator '@' as
rgagnon24 stated more than 5 years ago. Just posting here to let the powers that be know this is
still a 'persistent' bug. Pardon the pun.


Previous Comments:
------------------------------------------------------------------------
[2017-02-08 09:03:50] steffen dot weber at gmail dot com

This bug still exists in PHP 7.0.15 and PHP 7.1.1.

------------------------------------------------------------------------
[2017-02-08 09:01:02] steffen dot weber at gmail dot com

I've just run into the problem that PDO::__construct emits a needless warning 'MySQL
server has gone away' when a persistent connection was closed remotely (e.g. by a MySQL server
restart). Since the connection is automatically reestablished there is no need for such a warning.

I did not know that you could use the '@'-error-control-operator to suppress the
unnecessary warning without suppressing exceptions, too. Thank you for the hint, rgagnon24!

------------------------------------------------------------------------
[2014-10-30 13:39:47] patryk dot kozlowski at toxic-software dot pl

PHP Warning:  PDO::__construct(): MySQL server has gone away in <filepath> on line
<line_number> - this error still occurs randomly on lastes versions of php-5.5 and php-5.6

------------------------------------------------------------------------
[2013-06-14 05:13:59] rgagnon24 at gmail dot com

Related To: Bug #64993

------------------------------------------------------------------------
[2013-06-14 05:09:14] rgagnon24 at gmail dot com

The solution may lie in the patch attached to bug 64993 which does not clear a reference or free
memory when a failed SQL happens.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=64549


--
Edit this bug report at https://bugs.php.net/bug.php?id=64549&edit=1


Thread (17 messages)

« previous php.bugs (#217582) next »