Edit report at https://bugs.php.net/bug.php?id=64549&edit=1
ID: 64549
Updated by: cmb@php.net
Reported by: rgagnon24 at gmail dot com
Summary: mysqlnd persistent connection handling out of
control
-Status: Open
+Status: Feedback
Type: Bug
-Package: MySQL related
+Package: PDO MySQL
Operating System: CentOS 5.9
PHP Version: 5.3.23
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
> This bug still exists in PHP 7.0.15 and PHP 7.1.1.
Which bug? I'm genuinely asking because this ticket mixes quite a
lot of issues (some of which are not bugs at all), and the title
is completely useless.
Previous Comments:
------------------------------------------------------------------------
[2020-04-17 12:41:33] cmb@php.net
Well, there is a persistent connection cache per PHP process (NTS)
or per PHP thread (ZTS) ...
------------------------------------------------------------------------
[2018-10-15 20:45:51] nick at sabramedia dot com
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.
------------------------------------------------------------------------
[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
------------------------------------------------------------------------
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