Reputation: 24077
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
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