harryg
harryg

Reputation: 24077

MySQL server has gone away but script still runs fine

I have a webapp running locally on Xampp which uses mysql via PDO.

I sometimes get this warning on a page;

 Warning: PDO::__construct(): MySQL server has gone away in C:\xampp\htdocs\myapp\functions\classes.php on line 101

I always unset the pdo object after a script runs and instantiate a new one on another page. The actual scripts always seem to run fine but the error is quite annoying when it appears. Refreshing the page usually makes it disappear for a bit.

I'm guessing it's because the pdo object is not being properly removed (i.e. the connection remains even after the object is unset). It then eventually times out causing the error when I attempt to use another pdo object.

What's the best way to fix this/unset the pdo object after use?

Upvotes: 2

Views: 2558

Answers (1)

Nils
Nils

Reputation: 446

Make sure PDO::ATTR_PERSISTENT is false

The best way to solve this is probably to catch the PDOException and reconnect.

Upvotes: 9

Related Questions